2012-07-13 91 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