Как именно вы настраиваете httpOnly Cookies в ASP Classic? - PullRequest
11 голосов
/ 11 сентября 2008

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

Ответы [ 5 ]

14 голосов
/ 11 февраля 2013

Если вы запускаете свои классические веб-страницы 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 (для обеспечения безопасности кредитных карт) заставляют использовать HTTPOnly только для файлов cookie sessionID, по крайней мере, чтобы предотвратить атаки XSS.

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

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

11 голосов
/ 11 сентября 2008
Response.AddHeader "Set-Cookie", "mycookie=yo; HttpOnly"

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

1 голос
/ 11 сентября 2008

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

0 голосов
/ 28 июля 2015
Response.AddHeader "Set-Cookie", ""&CStr(Request.ServerVariables("HTTP_COOKIE"))&";path=/;HttpOnly"&""
0 голосов
/ 11 сентября 2008

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

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

...