2010-07-19 85 views
4
 
$url = $_GET['url']; 
echo "$url"; 

,我要求 /test.php?url=ok

給我確定作爲輸出..

,但我使用URL test.php的?URL = http://google.com

給我403-禁止的錯誤.. 我唐諾爲什麼它不工作..

請幫助我..

+0

它適用於我。這是你的整個劇本嗎? – casablanca 2010-07-19 05:16:55

+1

你的代碼工作正常。 – Dian 2010-07-19 05:17:24

+1

可能重複的[無法發送表單字段中的URL](http://stackoverflow.com/questions/2793592/unable-to-send-url-in-a-form-field) – Quentin 2010-07-19 05:21:14

回答

8

這通常是由mod_security(Apache擴展)的過度設置引起的。你必須諮詢你的提供者。 (但他們通常單獨禁用或放寬設置。)

+0

謝謝,從來沒有想過這個.. – Vamsi 2010-07-19 05:19:25

1

由於像/ etc等字符是URL中的特殊字符,因此不能將它們用作查詢字符串的一部分。你需要編碼要傳遞什麼作爲URL - 在PHP是由urlencode功能完成的,看起來像這樣:

test.php的URL = HTTP%3A%2F%2Fgoogle.com

+2

不當轉義不可能導致403. – Charles 2010-07-19 05:17:24

0

我將SecFilterEngine Off添加到.htaccess。它解決了問題 它基本上是mod_security。

+0

吶我認爲這是公平的接受@馬里奧的答案在這裏 - 畢竟,他提出了這個想法。 – 2010-08-04 19:28:18

+0

謝謝..我是新來這個網站..我正在使用:) – Vamsi 2010-08-06 14:42:11