Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.15.15] |
|
Сообщ.
#1
,
|
|
|
Помогите пожалуйста с такой проблемой вот примерно код
if (isset($katalog)){ include($katalog/$page.tpl) } Параметр $katalog и $page передаютса через меню так index.php?$katalog=12&page=3 правильно ли я сделал |
Сообщ.
#2
,
|
|
|
1. научись правильно по русски писать ( одну ошибку исправил )
2. правильно |
Сообщ.
#3
,
|
|
|
Простите модератор как умею так пишу пока не очень у меня с русским но исправлюсь с временем
|
Сообщ.
#4
,
|
|
|
Цитата vovikdrg, 4.09.04, 11:13 Помогите пожалуйста с такой проблемой вот примерно код А в чем собственно проблема? |
Сообщ.
#5
,
|
|
|
vovikdrg,
с точки зрения безопасности - не совсем. Что будет, если какой-нибудь Вася Пупкин подставит такие значения, с помощью которых можно будет получить доступ к секретному файлу? Например: index.php?katalog=../..&page=PASSWORDS.txt PS. В URL'е параметры пишутся без знака $. |
Сообщ.
#6
,
|
|
|
Цитата vovikdrg, 4.09.04, 12:13 if (isset($katalog)){ include($katalog/$page.tpl) } [flood] Сразу скажи адрес, где такой код будешь ставить, вдруг какой файл оттуда понадобится [/flood] |
Сообщ.
#7
,
|
|
|
Ну тогда подскажите, народ, как лучше сделать!
Мне надо подключить файл с информацией, как мне это лучше сделать? [Corrected by Mastilior] |
Сообщ.
#8
,
|
|
|
vovikdrg,
смотря что ты делаешь. Если хочешь, чтобы имена папок и файлов задавались через URL, то проблему безопасности можно решить путем удаления из переменных ".." (родительская папка): $link = str_replace("..", "", $link); |
Сообщ.
#9
,
|
|
|
Mastilior, а поточнее
|
Сообщ.
#10
,
|
|
|
Цитата vovikdrg, 7.09.04, 16:52 Mastilior, а поточнее vovikdrg, что тут непонятного? Удаляем все переходы вверх по иерархии каталогов. А вообще, передать адрес в URL, IMHO - не совсем лучшее решение. |
Сообщ.
#11
,
|
|
|
Mastilior, согласен. Но можно это вполне использовать при mod_rewrite. Допустим:
RewriteRule ^(.+)/(.+)$ handler.php?dir=$1&file=$2 Ещё желательно из папок удалять «/» и «\» - а то dir=/root мне не очень нравится B) |
Сообщ.
#12
,
|
|
|
Цитата Простите модератор как умею так пишу пока не очень у меня с русским но исправлюсь с временем Знаю иностранные языки: русский и РНР. Читаю и пишу со словарём :-) Цитата Ну тогда подскажите, народ, как лучше сделать! Мне надо подключить файл с информацией, как мне это лучше сделать? Можно создать файл в котором каждому включаемому файлу будет присвоен свой ID и в запросе передавать только этот ID, например: Цитата ids.lst: 1 1 5.tpl 2 1 6.tpl 3 12 3.tpl index.php?id=3 будет вызывать каталог 12 файл 3.tpl вот код: if (isset($id)){ $fh = fopen("ids.lst", "r"); while(!feof($fh)) { $rd = fgets($fh, 1024); if($rd != "") { list($rid, $catalog, $page) = split(' ', $rd); if($rid == $id){ include($catalog/$page); break; } } } fclose($fh); } Это просто пример. Да кстати не помню есть ли в РНР бряк, если нету удали его. |