Php 头重定向是可注入的吗
这一切都是从我用来启用语言切换的重定向函数开始的。我使用Php 头重定向是可注入的吗,php,header,code-injection,Php,Header,Code Injection,这一切都是从我用来启用语言切换的重定向函数开始的。我使用头('Location:'.$\u SERVER['HTTP\u REFERER'])将用户重定向回上一页,该页通过javascriptwindow.location.href重定向 我试过了 $_SERVER['HTTP_REFERER']=');'; header('Location: ' . $_SERVER['HTTP_REFERER']); 它重定向到一个错误页面http://localhost/); 但是我知道可能有一些技巧使
头('Location:'.$\u SERVER['HTTP\u REFERER'])
将用户重定向回上一页,该页通过javascriptwindow.location.href
重定向
我试过了
$_SERVER['HTTP_REFERER']=');';
header('Location: ' . $_SERVER['HTTP_REFERER']);
它重定向到一个错误页面http://localhost/);代码>
但是我知道可能有一些技巧使它泄漏,所以我问有没有注射方法?如果代码不易受攻击,我不介意让用户修改他们的http_referer并发送到错误页面
更新
我担心的是,用户是否可以执行以下操作
$_SERVER['HTTP_REFERER']=')';
$mysqli->query($query);
header('Location: http://localhost ');
近似
$\u服务器['HTTP\u REFERER']=”;$mysqli->query($query);头('Location:http://localhost ');";代码>
在我以前的代码中它不是可执行的,但是谁知道它是否真的是可漏洞的。是的,$\u服务器['HTTP\u REFERER']
可以是输入提供的任何内容(例如,通过cURL调用进行修改,或者通过浏览器插件/附加模块/扩展进行修改,等等)
因此,您不应该像以前那样依赖$\u服务器['HTTP\u REFERER']
来完成页面流之类的重要任务
年,它说:
将用户代理引用到的页面(如果有)的地址
当前页面。这是由用户代理设置的。并非所有的用户代理都会这样做
设置此选项,一些选项提供将HTTP_REFERER修改为
特色。简言之,它真的不可信
呃,是的,任何人都可以给你任何他们想要的推荐人。这是一个完全由用户提供的字段。妈妈,是你吗?天啊,我们谈过这个。。。。不要使用用户引用头。如果您指的是SQL注入,那么这种情况就不太类似了。通过SQL注入,恶意用户可以在其数据库上执行自己选择的代码。在这种情况下。。。用户可以控制他们重定向到哪个页面,这实际上不是一个安全问题。我知道要避免引用标题,但我的问题是标题('Location:'。$\u SERVER['HTTP\u REFERER'])代码>易受注入攻击?我试图避免http_referer,但我不知道如何使用javascript(客户端)安全地将用户重定向回当前页面。不,这是不可能的。您可以看到,我知道它可以修改。要将用户重定向到上一个页面,我认为应该使用类似于http_referer的东西,以便在某种程度上仍然可以编辑,所以为什么不显示一些更好的替换呢?您可以设置一个有效值列表&更重要的是一个默认值。列表之外的所有其他值都应返回默认值。