2008-09-10 412 views

回答

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

expirespathsecure其他選項也可以添加這樣。我不知道有任何不可思議的方式來更改您的整個Cookie收集,但我可能是錯誤的。

1

您需要將「; HttpOnly」附加到響應cookie集合中。

+3

目前尚不清楚,一些代碼將是巨大的 – 2008-09-11 14:42:19

-1

HttpOnly對提高Web應用程序的安全性做的很少。首先,它只適用於IE(Firefox「支持」它,但在某些情況下仍然向Javascript發佈cookie)。另一方面,它只能防止對您的應用程序進行「驅車」攻擊;它不會因重置密碼,更改電子郵件地址或下訂單而導致跨站點腳本攻擊。

你應該使用它嗎?當然。這不會傷害你。但在你開始搞亂HttpOnly之前,你應該確定你有10件事。

+1

是的,我知道。但增加一層保護從不會傷害。 – 2009-05-28 14:09:05

14

如果您在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

爲背景,中HTTPOnly Cookie是必需的PCI合規性的原因。 PCI標準人員(用於信用卡安全性)使您至少對會話ID cookie有HTTPOnly,以幫助防止XSS攻擊。

此外,在當前時間(2013年2月11日),所有主流瀏覽器都支持cookie的HTTPOnly限制。這包括當前版本的IE,Firefox,Chrome和Safari。

在這裏看到這是如何工作的更多信息,並支持各種瀏覽器版本: https://www.owasp.org/index.php/HTTPOnly

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