Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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_Url_Redirect - Fatal编程技术网

Php 获取参数并打印它

Php 获取参数并打印它,php,url,redirect,Php,Url,Redirect,我想在URL上的一个参数上打印,就像这个例子中的谷歌: 我想把它打印成这样: print("Go <a href='$url'>back</a> to the page you was before the login); 我该怎么做 $div = explode("?", $_SERVER['REQUEST_URI'], 2); $arg = end($div); //like Sarfraz says, you can also use directly $_SER

我想在URL上的一个参数上打印,就像这个例子中的谷歌:

我想把它打印成这样:

print("Go <a href='$url'>back</a> to the page you was before the login);
我该怎么做

$div = explode("?", $_SERVER['REQUEST_URI'], 2);
$arg = end($div);
//like Sarfraz says, you can also use directly $_SERVER['QUERY_STRING']

echo sprintf(
    'Go <a href="%s">back</a> to the page...',
    htmlspecialchars(urldecode($arg), ENT_QUOTES));
实际上,您需要验证URL以查看

如果它确实是一个有效的URL,请参见 如果你能在那里找到你的站点前缀,检查substr$url,0,strlen$prefix===$prefix就足够了$url是url解码的查询字符串
进行这些检查的原因是,否则攻击者可能会诱使您的用户访问url,这些url虽然以您的域为前缀,但实际上会将它们转发到恶意网站或受害者浏览器中易受攻击的注册协议。

如果必须来自url,则应将其作为url编码并作为GET变量

$prevUrl = urlencode("http://google.com/");
http://bitoffapp.org/?url=$prevUrl;
然后从GET global将其读入php函数

$url = urldecode($_GET['url']);
print("Go <a href='$url'>back</a> to the page you was before the login");
然而,我实际上想从_全局服务器获取他们以前的url

Do:

var_export($_REQUEST);
获取:

要获得正确的引用,请使用?url=

那么你可以在下面这些中找到它:

$_REQUEST['url']; // All POST, GET, ... variables
$_GET['url'];
如果您的URL为{my_URL},则可以执行以下操作:

echo '<a href="' . $_GET['url'] . '">Go back to the page you were on before login</a>';
echo '<a href="' . $_GET['url'] . '">Go back to the page you were on before login</a>';
parse_url($url,PHP_URL_QUERY);