Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 头重定向是可注入的吗_Php_Header_Code Injection - Fatal编程技术网

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'])
将用户重定向回上一页,该页通过javascript
window.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的东西,以便在某种程度上仍然可以编辑,所以为什么不显示一些更好的替换呢?您可以设置一个有效值列表&更重要的是一个默认值。列表之外的所有其他值都应返回默认值。