Вниз
Скачать: CL | DM;

мой скрипт   Найти похожие ветки 

← →
гастрит ©   (2006-08-21 06:49) [0]

Помогите разобраться!!!
Скрипт вставляет с помощью require содержимое файла, имя которого передавалось данному скипту с помощью ссылки с переменной, например /?filename=111.php. Я тут подумал, если злоумышленник получит доступ к папке, где лежат эти файлы, и заменит их своими, только со своим опасным  скриптом, то моему сайту может прийти конец? Как поступают обычно в таких случаях?


← →
_dimka ©   (2006-08-21 10:18) [1]

передавать имя модуля, имена модулей и ссылки на их файлы хранить где-то у в табличке или еще где нить, так у нас будет ссылка выглядеть так
index.php?module=news (к примеру)
вот ті вібираеш из таблицы (или чего нить еще) строку где имя модуля равно news смотриш, где он и уже его подключаеш, если такого нет то переадресовываеш на index.php или еще куда нить...


← →
Furyz ©   (2006-08-21 11:38) [2]

смотреть как действует пхпнюк
> [1] _dimka ©  

Согласен , надо сделать таблицу имя модуля - файл
и смотреть и открывать соответственно


← →
SerJaNT ©   (2006-08-22 13:15) [3]

> Согласен , надо сделать таблицу имя модуля - файл
> и смотреть и открывать соответственно


Если проверять файл на существование fileExists(), то и никаких таблиц не понадобится и злоумышленик не получит доступ. ну, естественно, нужно еще проверять на спец символы.


← →
_dimka ©   (2006-08-22 16:12) [4]

> [3] SerJaNT ©   (22.08.06 13:15)

Можно и так, просто предложил один из вариантов, как сам делал...
ЗЫ: только не fileExists(), а file_exists() ;)


← →
SerJaNT ©   (2006-08-23 01:39) [5]

А лучше, конечно так:

if (isset($filename)) {
 switch ($filename) {
   case "filename1":
     include "files/filename1.php";
   break;
   case "filename2":
     include "files/filename2.php";
   break;
   default:
     print "Страница не существует! 404 типа!";
   break;
 }
}


← →
гастрит ©   (2006-08-23 01:45) [6]


> Если проверять файл на существование fileExists(), то и
> никаких таблиц не понадобится и злоумышленик не получит
> доступ. ну, естественно, нужно еще проверять на спец символы.
>

А если, допустим, файл-то существует, но заменят его содержимое?


← →
гастрит ©   (2006-08-23 01:46) [7]

а, все, понял, протупил...


← →
_dimka ©   (2006-08-23 10:13) [8]

> А если, допустим, файл-то существует, но заменят его содержимое?

если ты допустиш чтобы файл подменили, тебя ничто не спасет от взлома :)


← →
tButton ©   (2006-08-23 10:24) [9]


> если ты допустиш чтобы файл подменили, тебя ничто не спасет
> от взлома :)

тогда смысл сабжа?
можно и имя файла передавать


← →
_dimka ©   (2006-08-23 21:21) [10]

> тогда смысл сабжа?
> можно и имя файла передавать


можно, но только с проверкой на file_exists, иначе можно будет передать имя удаленного файла...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
1-1154875143
ancot
2006-08-06 18:39
2006.09.17
Как правильно зарегистрировать наследника TFrame


2-1156509853
D@Nger
2006-08-25 16:44
2006.09.17
Как фильтровать по BLOB полю?


3-1152093224
term1t
2006-07-05 13:53
2006.09.17
Oracle to FoxPro


1-1154708929
ancot
2006-08-04 20:28
2006.09.17
TFrame TAction и ShorCut


6-1146266780
Naduev Aleksei
2006-04-29 03:26
2006.09.17
программа для учета переданной у полученной информации




   Наверх