tags:

views:

76

answers:

3
+4  Q: 

php $_GET error

Hi guys,

$url = $_GET['url'];
echo "$url";

and I request /test.php?url=ok

gives me ok as output..

but I use a url test.php?url=http://google.com

gives me 403- Forbidden error.. I donno why it's not working ..

Please help me..

+6  A: 

This is often caused by overcautious settings of mod_security, an Apache extension. You'll have to consult your provider. (But they usually disable this individually or relax the settings.)

mario
thanks, never thought about this..
Krishna
+1  A: 

Since characters like : and / etc are special characters in URLs, you cannot use them as part of a query string like that. You need to encode what you are passing in as a URL - in php that is done by the urlencode function, and will look like this:

test.php?url=http%3A%2F%2Fgoogle.com

Improper escaping is unlikely to cause a 403.
Charles
A: 

I added SecFilterEngine Off to .htaccess . and it solved the problem it's basically mod_security .

Krishna
@Krishna I'd say it would be fair to accept @mario's answer here - after all, he came up with the idea.
Pekka
Thanks..I am new to this site..I am getting used :)
Krishna