angularjs请求头中x-requested-with XHR

前端之家收集整理的这篇文章主要介绍了angularjs请求头中x-requested-with XHR前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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请求。");
}

猜你在找的Angularjs相关文章