XSS跨站脚本攻击见:http://www.jb51.cc/article/p-nwnmucyf-bch.html
为增加安全性,服务器为cookie设置HttpOnly属性。
对于Tomcat 7.0.x以上的版本,可以在应用的web.xml文件中增加如下配置:
<session-config>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure> <!-- 启用HTTPS后,建议配置这行,仅在安全通道时传输Cookie,提升安全性 -->
</cookie-config>
<session-config>
Apache Tomcat官方 Cookie类 的文档,可以发现从7.0.x版本可以通过 Cookie 类对象的API来设置 httpOnly 属性:
/** * Sets the flag that controls if this cookie will be hidden from scripts on the client side. */
setHttpOnly(boolean httpOnly)
打开Chrome调试器的DEBUG面板,在右边选择Application,这时在下边可以看到Chrome缓存的cookie数据。如果HTTP列有对勾,说明对应行的cookie设置了HttpOnly属性。
angularjs发现加载的模板html全是XHR请求,是因为angularjs使用XHR加载tpl文件。
在Java WEB项目,比如在Server端的JSP中判断如下:
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) {
out.print("该请求是 AJAX 异步HTTP请求。");
}else{
out.print("该请求是传统的 同步HTTP请求。");
}