ie 跨站脚本

来源:互联网 发布:家用动感单车品牌 知乎 编辑:程序博客网 时间:2024/04/28 02:36

ie浏览器提示错误的原字样为: Internet Explorer 已对此页面进行了修改,以帮助阻止跨站点脚本!


对不起各位博友: 下面我的观点是属于我当时知识缺乏,下面那种方式是不建议大家使用的(真是有点误导大家,Sorry *_*) , 浏览器不允许跨站情况下 post/get 请求数据,要实现的方式只有jsonp的形式才能实现跨站请求  (当然你要请求的服务得支持jsonp的形式哦)~ 


  • 问题所在环境:
  1. 浏览器: ie8+
  2. 系统:winxp win7 vista
  3. post请求至其他域名站点(非本站点域名)

如果满足以上三点问题,我就大概可以确定你所发生的问题就是我这篇博文要解决的问题。

  • 解决办法:

只需要在目标页面添加一个header头标记就可以搞定这个问题,

response.addHeader("X-XSS-Protection","0");

  • 官方解释(跨站点脚本筛选):

             一个网站向另一个网站注入或添加 JavaScript 进行非法请求,即构成跨站点脚本攻击。原始请求一般都是合法的,例如原始请求可以是一个指向另一个页面的链接,也可以是提供常用服务(如留言簿)的通用网关接口 (CGI) 脚本。注入的脚本通常会尝试访问另一个网站不允许访问的特权信息或服务。响应或请求通常会将结果反馈给该恶意网站。XSS 筛选器是 Windows® Internet Explorer® 8 的新功能,用于检测 URL 和 HTTP POST 请求中的 JavaScript。检测到 JavaScript 时,XSS 筛选器会搜索反射的证据,即攻击请求在没有更改的情况下提交时,返回给攻击网站的信息。如果检测到反射,XSS 筛选器将审查该原始请求,这样附加的 JavaScript 将无法执行。
    详细参考地址: http://technet.microsoft.com/zh-cn/library/dd638324%28WS.10%29.aspx

  • 其他解决办法:
    在 "Internet 控制面板" 中控制 XSS 筛选器,具体参考 http://bjyzxxds.iteye.com/blog/453119
  • 两种方法对比:

             两种方法对比,我感觉第一种解决方法是最为合适的,想让某一个页面跨站点脚本,可以添加一个header就ok,这样相对于其他的站点访问,安全问题是最大的,其他解决办法是通过设置internet选项,这种方法不是很安全,因为所有的页面都会公用这一个设置,所以安全存在很大的问题!还有一个问题就是现在的项目都是bs模式的,所以说用户所用的工具都是浏览器,为了实现这一个效果,不可能每次给用户配置电脑的时候,都得说把internet里面的xss选项给禁用了,这样用户体验可就不是很好吧!
    ok,我的这个问题就描述到这里!  希望对你有所帮助 (*^__^*) 嘻嘻......

    如果上面的方法没有描述清楚或者有什么问题,可以发送邮件至 nishiwode923@qq.com ,联系我    同时也可以留言...  谢谢





原创粉丝点击