header头referer字段反射xss

问题:

在这里插入图片描述
解决:

js:
<script type="text/javascript">
function goTo(url){
   var ua = navigator.userAgent;
   if(ua.indexOf('MSIE')>=0){
           var rl = document.createElement('a');
           rl.href= url;
           document.body.appendChild(rl);
           rl.click();
   }else{
           location.href = url;
   }
}
function getReferer(){
  if(document.referrer=="域名"){
     return document.referrer;
   }else{
   	//跳转到错误页面
    return false;
   }
}
</script>

PHP端

$host = $_SERVER['HTTP_HOST']; //获取host
if($host !== '域名'){
	//错误跳转
}
`Referer` 字段(通常写作 `Referer`,而不是 `referer`)是 HTTP 请求的一部分,用于标识请求来源页面的地址。它通常用于网站统计、日志分析、防止内容盗链等用途。要开启或设置 `Referer` 字段,通常需要由客户端(例如Web浏览器)或服务器端的配置决定。 对于浏览器端,大多数现代浏览器默认会发送 `Referer` 字段,但用户可以在浏览器的隐私设置中关闭它,或者在某些浏览器的特定模式下(如隐私模式/无痕模式)不发送 `Referer` 字段。如果你需要在浏览器端手动设置或确保 `Referer` 字段被发送,你需要检查浏览器的设置。 对于服务器端,如果你是网站开发者或服务器管理员,可以在服务器配置中设置是否发送 `Referer` 字段。以Apache服务器为例,可以通过修改`.htaccess`文件或服务器配置文件来控制是否发送 `Referer` 字段。以下是一个简单的示例配置,用于Apache服务器,在此配置下,服务器将不发送 `Referer` 字段: ```apache <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteRule .* - [E=NO REFERER:%{HTTP_REFERER}] </IfModule> Header set Referrer-Policy "no-referrer" ``` 在这个示例中,`RewriteCond` 指令用于检查 `HTTP_REFERER` 是否存在,如果存在,则设置环境变量 `NO REFERER`。`RewriteRule` 指令实际上没有改变任何东西,但它可以用来触发一些基于环境变量的逻辑。`Header` 指令用于设置 HTTP 响应 `Referrer-Policy`,在此例中设置为 `no-referrer`,这意味着浏览器不会发送 `Referer` 字段。 请注意,出于安全和隐私考虑,有时关闭 `Referer` 字段是有益的。服务器端的设置可能会因服务器软件的不同而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值