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

и я прошу /test.php?url=ok

дает мне нормально, как выход ..

, но я использую URL-адрес test.php? URL = http://google.com

дает мне 403- Запретный ошибка .. я Donno почему он не работает ..

Пожалуйста, помогите мне ..

+0

Это прекрасно работает для меня. Это ваш весь сценарий? – casablanca

+1

Ваш код работает нормально. – Dian

+1

Возможный дубликат [Невозможно отправить Url в поле формы] (http://stackoverflow.com/questions/2793592/unable-to-send-url-in-a-form-field) – Quentin

ответ

8

Это часто вызвано чрезмерными настройками mod_security, расширения Apache. Вам нужно будет проконсультироваться со своим провайдером. (Но они обычно отключают это отдельно или расслабляют настройки.)

+0

спасибо, никогда не думал об этом .. – Vamsi

1

Поскольку такие символы как: и/etc являются специальными символами в URL-адресах, вы не можете использовать их как часть строки запроса, подобной этой. Вы должны кодировать то, что вы передаете в качестве URL - в PHP, что делается с помощью функции urlencode, и будет выглядеть следующим образом:

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

?
+2

Неправильное экранирование вряд ли вызовет 403. – Charles

0

Я добавил SecFilterEngine Off в .htaccess. и он решил проблему , это в основном mod_security.

+0

na Я бы сказал, что было бы справедливо согласиться с ответом на @ mario здесь - в конце концов, он придумал эту идею. –

+0

Спасибо .. Я новичок в этом сайте..Я привыкаю :) – Vamsi