cookie是大多数
深圳建站公司Web应用程序所依赖的HTTP协议的一个关键组成部分,攻击者常常通过它来利用Web应用程序中的漏洞。服务器使用cookie机制向客服端发送数据,客户端保存cookie并将其返回服务器。与其他类型的请求参数不同,无须应用程序或用户采取任何特殊措施,随后的每一个请求都会继续重新向服务器提交cookie。
如前所述,服务器使用Set-Cookie响应消息头发布cookie:
Set-Cookie:tracking=tI8rk7joMx44s2Uu85nSWc
然后,用户的浏览器自动将下面的消息头添加到随后返回给一服务器的请求中:
Cookie:tracking=tI8rk7joMx44S2Uu85nsWc
如上所示,cookie一般由一个名/值对构成,但也可包含任何不含空格的字符串。可以在服务器响应中使用几个Set-Cookie消息头发布多个cookie,并可在一个Cookie消息头永分号分隔不同的Cookie,将他们全部返回服务器。
除cookie外,Set-Cookie消息头还可包含以下任何可选属性,用它们控制浏览器处理cookie的方式。
expires。用于设定cookie的有效时间。这样会使浏览器将cookie保存在永久性的存储器中,在随后的浏览器会话中重复利用直到时间为止。如果没用设定这个属性,那么cookie仅用在当前浏览器会话中。
path。用于指定cookie的有效URL路径。
HttpOnly。如果设置这个属性,将无法通过客户端JavaScript直接访问cookie.
domain。用于指定cookie的有效域。这个域必须和收到cookie的域相同,或者是它的父域。
secure。如果这个设置这个属性,仅在HTTPS请求中提交cookie.
上述每一个cookie属性都可能影响应用程序的安全,其造成的主要不利影响在于攻击者能够直接对应用程序的其他用户发起攻击