Как именно вы настраиваете файлы cookie httpOnly в ASP Classic?

StackOverflow https://stackoverflow.com/questions/55296

  •  09-06-2019
  •  | 
  •  

Вопрос

Я хочу реализовать httpOnly на своих устаревших классических сайтах ASP.Кто-нибудь знает, как это сделать?

Это было полезно?

Решение

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

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

Другие советы

Если вы запускаете веб-страницы Classic 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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top