2009-08-18 10 views

risposta

13

Se si dispone di più applicazioni in esecuzione sotto lo stesso dominio sullo stesso server, si può ben desidera avere nomi cookie di sessione separati per ciascuno, in modo che non condividano lo stesso stato di sessione o peggio ancora si sovrascrivano l'un l'altro.

Vedi anche le note per il Forms Auth cookie name:

Specifica il cookie HTTP da utilizzare per l'autenticazione. Se più applicazioni sono in esecuzione su un singolo server e ogni applicazione richiede un cookie univoco, è necessario configurare il nome del cookie in ciascun file Web.config per ogni applicazione.

+0

Non sono un esperto di ASP.NET, ma non imposta il parametro "percorso" del cookie di conseguenza quando si utilizzano più app nello stesso dominio? –

+0

@Ferdinand Beyer - potrebbe fare, ma non c'è un attributo "path" o anche "domain" nella configurazione dello stato della sessione - nota che il cookie di Auths Path dice "L'impostazione predefinita è una barra (/), perché la maggior parte dei browser fa distinzione tra maiuscole e minuscole e non restituirà i cookie, se c'è una mancata corrispondenza tra maiuscole e minuscole. ". Ti stai aprendo a un potenziale mondo di dolore lì. –

+0

Il nome del cookie di autenticazione dei moduli non è uguale al nome del cookie di sessione (quest'ultimo è generalmente chiamato ASP.NET_SessionId e può essere modificato indipendentemente dal nome del form/login cookie –

2

1) Potrebbe (leggermente) rallentare qualcuno che lo sta (casualmente) cercando.

2) Si potrebbe desiderare di nascondere il fatto che si esegue ASP.NET

+4

2) può essere vero, ma il primo omaggio per ASP.NET sarà nella revisione renderizzata e nella manipolazione di id –

+0

Altri omaggi per ASP.NET includono la presenza di estensioni di file comuni come .aspx, .asmx, .axd ; intestazioni di risposta da IIS come x-powered-by: ASP.NET. In modo più sottile, esiste il comportamento di blocco della sessione in base al quale una richiesta di utilizzo della sessione deve essere completata prima che possa iniziare un'altra. –

0

Penso che sia principalmente una questione di gusti. Alcune persone/aziende vogliono controllare ogni aspetto delle proprie app Web e potrebbero semplicemente usare un altro nome per coerenza con altri nomi di cookie. Ad esempio, se si utilizzano nomi di parametri a un solo carattere molto brevi in ​​tutta l'app, potrebbero non piacerti i nomi dei cookie di sessione come ASPSESSID.

Possono essere applicati motivi di sicurezza ma, a mio parere, il numero di telefono security through obscurity è piuttosto debole.

1

Il collegamento fornisce ulteriori informazioni sul perché i cookie di sessione devono essere rinominati.

https://www.owasp.org/index.php/Session_Management_Cheat_Sheet

"Il nome utilizzato dal ID di sessione non dovrebbe essere estremamente descrittivo né offrire dettagli inutili sullo scopo e il significato della ID. Nomi ID

La sessione utilizzati dall'applicazione web più comuni I framework di sviluppo possono essere facilmente rilevati con impronte digitali [0], come PHPSESSID (PHP), JSESSIONID (J2EE), CFID & CFTOKEN (ColdFusion), ASP.NET_SessionId (ASP .NET), ecc. Pertanto, il nome dell'ID di sessione può rivelare le tecnologie e linguaggi di programmazione utilizzati dall'applicazione Web.

Si consiglia di modificare il nome dell'ID sessione di default del framework di sviluppo Web con un nome generico, come "id". "

Problemi correlati