Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
гастрит ©   (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 вся ветка

Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.058 c
2-1156485289
yel
2006-08-25 09:54
2006.09.17
База данных


2-1156520417
NAS
2006-08-25 19:40
2006.09.17
Даты


2-1157042328
Sele
2006-08-31 20:38
2006.09.17
запуск с параметром


15-1156046543
PSPF2003
2006-08-20 08:02
2006.09.17
Альтернатива Adobe Reader


15-1156734742
tButton
2006-08-28 07:12
2006.09.17
знаки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский