2012-07-13 94 views
2

我想通过url传递url(甚至几个url),即使用像http://domain/file.php?url1=...&url2=...这样的url。问题是如何使这些网址安全和工作。 urlencode()会有帮助。什么是正确和安全的同志通过url传递url

顺便说一句,如果我做urlencode($url),做我需要做urldecode()header("Location: $url")

预先感谢您面前!

回答

1

将urlencode()来帮助。

是的。

顺便说一句,如果我不进行urlencode($网址),我需要做的 头前urldecode()( “地点:$网址”)

没有。您需要对转到最终网址的单个网址进行编码,例如

$url1= "http://www.example.com"; 
$final = "http://yourdomain.com?url1=".urlencode($url1); 
+0

看起来像我严重提出了这个问题。当我点击生成的网址后,我会在服务器上有$ _REQUEST ['url1']'...'$ _REQUEST ['urln']'。我需要在'header(“Location:$ url”)之前执行'urldecode($ _ REQUEST ['url1'])' – Eugeny89 2012-07-13 12:13:20

+1

no。 Manual sais:“超全局变量$ _GET和$ _REQUEST已经被解码,对$ _GET或$ _REQUEST中的元素使用urldecode()会产生意想不到的结果。” (http://php.net/manual/en/function.urldecode.php) – worenga 2012-07-13 23:09:12