Configura registrazione sessione
È possibile configurare i report di registrazione delle sessioni per l'agente del browser APM.
Per impostazione predefinita, l'agente del browser APM crea un cookie di tracciamento della sessione che tiene traccia dell'attività di un browser univoco fino al riavvio del browser. Ciò potrebbe discostarsi da ciò che viene utilizzato dall'Application Server. Più specificamente, potrebbe tenere traccia dei dati prima e dopo il login e il logout. sessionId
non corrisponde al sessionId
che potrebbe essere presente nei file di log. Ci sono alcuni approcci che potrebbero aiutare ad allineare il server sessionId
con il reporting del browser. Quando l'obiettivo è garantire che le interruzioni di sessione vengano applicate solo alle pagine di login/logout, è possibile eseguire questa operazione creando una strumentazione solo per questo scenario.
Aggiungi interruzioni di sessione
Una chiamata a document.ApmSdk.resetSession()
nel codice javascript garantirà la chiusura della sessione esistente e l'avvio della nuova sessione. In questo modo, isolerà le interazioni prima che questa funzione sia stata chiamata dalle interazioni dopo di essa. L'aggiunta di questo elemento alla pagina di login o alla pagina di arrivo del logout (e del timeout) può contribuire a garantire che le interruzioni di sessione nel report dell'agente del browser corrispondano alle interruzioni delle esperienze cliente.
Codice javascript di esempio che attiva un'interruzione di sessione:
<script language="text/javascript">
if (document.ApmSdk) {
document.ApmSdk.resetSession();
}
</script>
Allinea il browser SessionId al server SessionId
Un approccio alternativo per allineare la sessione del server alla sessione del browser consiste nell'allineare il Id
utilizzato per identificare una sessione. Alcuni modi per farlo sono descritti di seguito.
L'esposizione raw a sessionId potrebbe indebolire il CSRF
L'esposizione di sessionId
a javascript e APM potrebbe indebolire le protezioni CSRF (Cross-Site Request Forgery).
Il vantaggio di sessionId
identico (nei log del server e in APM) dovrebbe essere valutato in base all'impatto sulle misure di sicurezza. Un hash one way potrebbe rendere l'unicità identica senza compromettere le protezioni. Ciò richiederebbe la stessa funzione hash nei casi in cui i log del server e i log dell'agente del browser siano collegati tra loro.
Gli esempi riportati di seguito utilizzano il valore raw sessionId
, non una particolare funzione hash:
Recupero dell'applicazione sessionId all'agente del browser APM
sessionId
dall'Application Server all'agente del browser.
-
Inizializza apmrum.sid dal codice applicazione
Ciò richiede la capacità nel codice dell'applicazione di esporre il
sessionId
attivo nell'html risultante. Il codice dell'applicazione deve produrre il codice html/javascript che inizializza la proprietàapmrum.sid
consessionId
.Il codice dell'applicazione si aggiunge al corpo del codice html come il seguente:
<script language="text/javascript"> window.apmrum = window.apmrum || {}; window.apmrum.sid = '<?PHP echo getSessionId(); ?>'; </script>
-
Esporre il cookie
sessionId
e indicare all'agente del browser di utilizzarloNei casi in cui l'applicazione
sessionId
non è protetta dal flagHttpOnly
, l'agente del browser può essere configurato per leggere e utilizzare il valore del cookiesessionId
.Esempio dell'html riportato di seguito utilizzando il nome cookie dell'Application Server, in questo caso
'JSessionId'
:<script language="text/javascript"> window.apmrum = window.apmrum || {}; window.apmrum.tracking_cookie = 'JSessionId'; </script>