Показать сообщение отдельно

  #3  
Старый 10.11.2009, 23:45
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

Репутация: 1695
По умолчанию

Цитата:
Сообщение от L I G A  
самый примитивный вариант (до вывода):
PHP код:
if($_GET['adr']){
echo 
header('Location: ' $_GET['adr']) ;
exit();

если N - это время,то sleep(сек); перед редиректом.
В твоем коде как бы раскрытие пути, при передачи новой строки в параметре _GET['adr'], имеем раскрытие пути. И зачем там echo !?

пример:
Цитата:
http://site.ru/script.php?adr=xe%0Ak%0A

получим:

Цитата:
Warning: Header may not contain more than a single header, new line detected. in /path/script.php
И вообще хорошо бы использовать функцию empty()
PHP код:
 if (!empty($_GET['adr'])) 
Более правильный вариант:
PHP код:
<?php
if (!empty($_GET['adr']) && !@preg_match('/[\r\n]/'$_GET['adr'])) {
    echo 
'<h1>перенаправление</h1>';
    
sleep(5);
    
header('Location: http://'.$_GET['adr']);
}
exit;
?>
__________________
Cервер cs 1.6
cs.antichat.net:27015

Последний раз редактировалось (Dm); 11.11.2009 в 00:57..