2008-09-10 3 views

ответ

11
Response.AddHeader "Set-Cookie", "mycookie=yo; HttpOnly" 

Другие варианты, как expires, path и secure могут быть также добавлены таким образом. Я не знаю какого-либо волшебного способа изменить всю вашу коллекцию файлов cookie, но я мог ошибаться.

1

Вам необходимо добавить «; HttpOnly» в коллекцию файлов ответов Response.

+3

Не ясно, немного кода было бы здорово – 2008-09-11 14:42:19

-1

HttpOnly делает очень мало для повышения безопасности веб-приложений. Во-первых, он работает только в IE (Firefox «поддерживает» его, но в некоторых ситуациях раскрывает файлы cookie для Javascript). С другой стороны, он предотвращает атаку «приводов» на ваше приложение; он не делает ничего, чтобы межсайтовая скриптовая атака от сброса паролей, изменения адресов электронной почты или размещения заказов.

Следует ли использовать его? Конечно. Это не повредит тебе. Но есть 10 вещей, которые вы должны быть уверены, что делаете, прежде чем начинать возиться с HttpOnly.

+1

Да, я знаю. Но добавление еще одного слоя защиты никогда не повредит. – 2009-05-28 14:09:05

14

Если вы запускаете свои классические веб-страницы ASP на IIS 7/7.5, вы можете использовать модуль перезаписи URL-адреса IIS, чтобы написать правило, чтобы сделать ваши файлы cookie HTTPOnly.

Вставьте следующий код в раздел вашего web.config: для деталей

<rewrite> 
    <outboundRules> 
     <rule name="Add HttpOnly" preCondition="No HttpOnly"> 
      <match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" /> 
      <action type="Rewrite" value="{R:0}; HttpOnly" /> 
      <conditions> 
      </conditions> 
     </rule> 
     <preConditions> 
      <preCondition name="No HttpOnly"> 
       <add input="{RESPONSE_Set_Cookie}" pattern="." /> 
       <add input="{RESPONSE_Set_Cookie}" pattern="; HttpOnly" negate="true" /> 
      </preCondition> 
     </preConditions> 
    </outboundRules> 
</rewrite> 

Смотрите здесь: http://forums.iis.net/t/1168473.aspx/1/10

Для фона, HTTPOnly печенья необходимо для обеспечения соответствия PCI. Люди стандартов PCI (для обеспечения безопасности кредитных карт) заставляют вас иметь HTTPOnly на ваши файлы cookie sessionID, по крайней мере, для предотвращения атак XSS.

Кроме того, в настоящее время (2-11-2013) все основные браузеры поддерживают ограничение HTTPOnly на файлы cookie. Сюда входят текущие версии IE, Firefox, Chrome и Safari.

Смотрите здесь для получения дополнительной информации о том, как это работает и поддержки различных версий браузера: https://www.owasp.org/index.php/HTTPOnly

0
Response.AddHeader "Set-Cookie", ""&CStr(Request.ServerVariables("HTTP_COOKIE"))&";path=/;HttpOnly"&""