Как? Потеря данных...

R00miss

Guest
Как? Потеря данных...

Привет!
Вот написал я скритик, но там дырочка которую я хочу отфиксить - помогите плиз :)

Скрипт:
PHP:
<?
if ($n==""){$n="";}
if ($n=="1"){$n="";}
if ($s==""){$s="obl";}
include ("c:/inetpub/rom/postcards/categories/"."$s"."$n".".php");
?>
Вообщем когда вписываешь страничку, которой нет - пишется
Warning: Failed opening 'c:/inetpub/rom/postcards/categories/hi.php' for inclusion (include_path='') in l:\home\borg\www\rom\postcards\_links.php on line 5

Как сделать, чтоб перенапрявлялось автаматом на другую страницу, или выводилась ошибка типа "Нема файла такого!"
 

mvc_aaa

MvC of PHPClub
гм, а что низя юзать не полный, а относительный путь ?

И юзай file_exist перед открытием, это и есть проверка.
 

R00miss

Guest
проблемка в том, что если юзать относительный путь то можно подставить ../ и потом любой файл - не хорошо получиться, у одного так стоит - любой пароль можно посмотреть :)

а про file_exist как подставить? :)
 

mvc_aaa

MvC of PHPClub
PHP:
if (file_exists ($filename)) {
 // файл есть, работаем
} else {
 // файла нет
}
Куда подставить ../ ?
У тебя имя файла передается в урле ?
 

R00miss

Guest
Ща попробую :)

передается типа http://bla.ru/blabla.php?s=bla&n=2
но если туды поставить относительный путь то мона будет открыть - http://bla.ru/blabla.php?s=../bla/.htpasswd :)
 

R00miss

Guest
чё та не получается :(
типа такого нада или как?

PHP:
<?
if ($n==""){$n="";}
if ($n=="1"){$n="";}
if ($s==""){$s="obl";}

if (file_exists ("$n$n.php")) { 
include ("c:/inetpub/rom/postcards/categories/$s$n.php");
} else { 
echo ("get lost!!"); 
}

?>
 

R00miss

Guest
УСЕ ВРУБИЛСЯ :)
СПАСИБО ВАМ!!!!!!!!!!!!!! :)
Прям поцеловал бы :)


С Богом!
 
Сверху