PHP $ _GET错误

问题描述:

 
$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://*.com/questions/2793592/unable-to-send-url-in-a-form-field) – Quentin 2010-07-19 05:21:14

这通常是由mod_security(Apache扩展)的过度设置引起的。你必须咨询你的提供者。 (但他们通常单独禁用或放宽设置。)

+0

谢谢,从来没有想过这个.. – Vamsi 2010-07-19 05:19:25

由于像/ etc等字符是URL中的特殊字符,因此不能将它们用作查询字符串的一部分。你需要编码要传递什么作为URL - 在PHP是由urlencode功能完成的,看起来像这样:

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

+2

不当转义不可能导致403. – Charles 2010-07-19 05:17:24

我将SecFilterEngine Off添加到.htaccess。它解决了问题 它基本上是mod_security。

+0

呐我认为这是公平的接受@马里奥的答案在这里 - 毕竟,他提出了这个想法。 – 2010-08-04 19:28:18

+0

谢谢..我是新来这个网站..我正在使用:) – Vamsi 2010-08-06 14:42:11