如果在具有基于cookie的访问限制的站点上使用AJAX,则JavaScript需要访问cookie.HttpOnly cookies是否可以在AJAX网站上运行?
编辑:如果指定了HttpOnly,Microsoft通过禁止JavaScript访问cookie创建了一种防止XSS攻击的方法.FireFox后来采用了这个.所以我的问题是:如果你在一个网站上使用AJAX,比如StackOverflow,那么Http-Only cookies是一个选择吗?
编辑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,但我仍然可以使用XMLHttpRequest对象窃取您的cookie并将其发布到我的域中.
<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);
req.send(null);
alert(req.getAllResponseHeaders());
</script>
Run Code Online (Sandbox Code Playgroud)
编辑4:对不起,我的意思是你可以将XMLHttpRequest发送到StackOverflow域,然后将getAllResponseHeaders()的结果保存到字符串中,正则输出cookie,然后将其发布到外部域.似乎维基百科和哈克斯在这一方面同意我,但我希望能够重新接受教育......
最终编辑:啊,显然这两个网站都是错误的,这实际上是FireFox中的一个错误.IE6和7实际上是目前唯一完全支持HttpOnly的浏览器.
重申我所学到的一切:
编辑:此信息可能不再是最新的.
Flash影片中无法访问HTTP Cookie,但我现在已经反复阅读过,Flash Player应该自动处理会话cookie.但是,我没有找到任何关于此的文档,并且它肯定不适用于使用默认JSESSIONID cookie运行Struts后端的Flex客户端.
那么,Flash Player是否处理会话cookie或不处理会话cookie,如果是,我该如何设置?
我理解ssl是如何工作的,所以浏览器会发送加密的用户名/密码.但接下来会发生什么?
客户端是否收到cookie?它安全吗?如果唯一的https页面是登录页面,服务器浏览器如何安全地进行通信?
我想如果有人在发送cookie时得到该cookie的副本,他们可以访问该帐户,无论cookie是多么加密
实际上,我想了解安全Web应用程序中从登录到注销的过程.
服务器:Tomcat,Apache ......平台:java,php,...
谢谢
从我在网站上看到的很多帖子中,由AJAX或传统表单执行的登录都是彼此安全的.(重新:登录/会话cookie,Ajax和安全性 Ajax登录和javascript cookie,这样安全吗?)
我的问题是:
如果我在将用户的密码(通过客户端/ javascript哈希库)散列到服务器之前对其进行哈希处理,那么我是否会增加人们的安全性?
如果我放置一个表单令牌(一个基于随机,另一个基于时间),这是否涵盖了CSRF攻击?