我希望在我的旧 ASP 经典站点中实现 httpOnly。 有谁知道怎么做吗?
最佳答案
如果您在 IIS 7/7.5 上运行经典 ASP 网页,则可以使用 IIS URL 重写模块编写规则以使您的 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
作为背景,出于 PCI 合规性原因,需要 HTTPOnly cookie。 PCI 标准人员(为了信用卡安全)至少让您的 sessionID cookie 上有 HTTPOnly,以帮助防止 XSS 攻击。
此外,目前(2013 年 2 月 11 日),所有主流浏览器都支持对 cookie 的 HTTPOnly 限制。这包括当前版本的 IE、Firefox、Chrome 和 Safari。
请参阅此处,了解有关其工作原理以及各种浏览器版本支持的更多信息: https://www.owasp.org/index.php/HTTPOnly
关于security - 到底如何在 ASP Classic 中配置 httpOnly Cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296/