angularjs请求头中x-requested-with XHR

来源:互联网 发布:玖玖爱六粮面淘宝 编辑:程序博客网 时间:2024/06/07 02:11

XSS跨站脚本攻击见:http://blog.csdn.net/he90227/article/details/51491997
为增加安全性,服务器为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请求。");}
0 0
原创粉丝点击