2009-08-18 6 views

ответ

13

Если у вас есть несколько приложений, работающих в том же домене на том же сервере, вы можете захотеть иметь раздельные имена куки сессии для каждый из них, так что они не разделяют одно и то же состояние сеанса или, что еще хуже, переписывают друг друга.

Смотрите также примечания к Forms Auth cookie name:

Указывает HTTP-куки, чтобы использовать для аутентификации. Если несколько приложений работают на одном сервере, и для каждого приложения требуется уникальный файл cookie, вы должны настроить имя файла cookie в каждом файле Web.config для каждого приложения.

+0

Я не эксперт ASP.NET, но не устанавливает ли он параметр «путь» файла cookie при использовании нескольких приложений в одном домене? –

+0

@Ferdinand Beyer - возможно, но в настройке состояния сеанса нет атрибута «путь» или даже «домен» - обратите внимание, что в примечаниях к файлам cookie Forms Auth сказано: «По умолчанию используется косая черта (/), потому что большинство браузеров чувствительны к регистру и не будут отправлять файлы cookie, если есть несоответствие случая пути. ". Вы открываете себе потенциальный мир боли. –

+0

Имя файла cookie для проверки подлинности форм не совпадает с именем cookie сеанса (последнее обычно называется ASP.NET_SessionId и может быть изменен независимо от имени файла cookie/login cookie) –

2

1) Он может (слегка) замедлить кого-то, кто (случайно) ищет его.

2) Вы можете скрыть тот факт, что вы работаете в ASP.NET

+4

2) может быть правдой, но первая раздача для ASP.NET будет в рендеринге разметки и id mangling –

+0

Дополнительные поддавки для ASP.NET включают наличие распространенных расширений файлов, таких как .aspx, .asmx, .axd ; заголовки ответов от IIS, как x-powered by: ASP.NET. Более тонко, существует поведение блокировки сеанса, посредством которого один запрос на использование сеанса должен завершиться до того, как начнется другой. –

0

Я думаю, что это в основном вопрос вкуса. Некоторые люди/компании хотят контролировать каждый аспект своих веб-приложений и могут просто использовать другое имя для согласованности с другими именами файлов cookie. Например, если вы используете очень короткие односимвольные имена параметров во всем приложении, вам могут не понравиться имена cookie сеанса, такие как ASPSESSID.

Причины безопасности могут применяться, но security through obscurity довольно слаб, на мой взгляд.

1

В приведенной ниже ссылке содержится дополнительная информация о том, почему файлы cookie сеансов должны быть переименованы.

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

«Имя используется идентификатор сеанса не должно быть очень описательный и не предлагают ненужные подробности о цели и значении идентификатора. Имена ID

Сеанс, используемые наиболее распространенных веб-приложений рамки разработки можно легко отпечатать с помощью пальцев [0], таких как PHPSESSID (PHP), JSESSIONID (J2EE), CFID & CFTOKEN (ColdFusion), ASP.NET_SessionId (ASP.NET) и т. д. Поэтому имя идентификатора сеанса может раскрывать технологии и языки программирования, используемые веб-приложением.

Рекомендуется изменить имя идентификатора сеанса по умолчанию для структуры веб-разработки на общее имя, например «id». »

 Смежные вопросы

  • Нет связанных вопросов^_^