9
HttpOnly cookie如何与AJAX请求一起使用?
如果在基于cookie的访问限制的网站上使用AJAX,则JavaScript需要访问cookie。HttpOnly cookie可以在AJAX网站上使用吗? 编辑: Microsoft创建了一种方法,通过在指定HttpOnly的情况下禁止对cookie的JavaScript访问来防止XSS攻击。FireFox后来采用了此方法。所以我的问题是:如果您在像StackOverflow这样的网站上使用AJAX,是否可以选择仅使用Http的cookie? 编辑2:问题2。如果HttpOnly的目的是防止JavaScript访问cookie,并且您仍然可以通过XmlHttpRequest对象通过JavaScript检索cookie,那么HttpOnly的意义何在? 编辑3:以下是维基百科的引文: 当浏览器收到这样的cookie时,应该在以下HTTP交换中照常使用它,而不是使其对客户端脚本可见。[32] 该HttpOnly标志不是任何标准的一部分,并且并非在所有浏览器中都实现。请注意,当前无法阻止通过XMLHTTPRequest读取或写入会话cookie。[33]。 我了解document.cookie您使用HttpOnly时会被阻止。但是似乎您仍然可以在XMLHttpRequest对象中读取cookie值,从而允许使用XSS。HttpOnly如何使您比这更安全?通过使cookie本质上是只读的? 在您的示例中,我无法写信给您document.cookie,但是我仍然可以窃取您的cookie并使用XMLHttpRequest对象将其发布到我的域中。 <script type="text/javascript"> var req = null; try { req = new XMLHttpRequest(); } catch(e) {} if (!req) try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} if (!req) try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} req.open('GET', 'http://stackoverflow.com/', false); …