|
|
|
| есть адресная строка, например index.php?module=service
по в зависимости от параметров GET подключается тот или иной модуль, как обезопасить подключение скрипта от атаки
<?php
// идентификация модуля
if(!get_magic_quotes_gpc())
{
$module = mysql_escape_string($_GET['module']);
}
else
{
$module = $_GET['module'];
}
// вызов модуля
$link = $module.".php";
if (file_exists("include/".$link))
{
include("include/".$link);
}
else
{
echo $error;
}
?>
|
| |
|
|
|
|
|
|
|
для: Bvz
(05.09.2009 в 00:55)
| | а Вы как думаете, какое отношение к этому имеет mysql ( в частности mysql_escape_string )? | |
|
|
|
|
|
|
|
для: Bvz
(05.09.2009 в 00:55)
| | Для начала очень полезно не разрешать вообще ситуации где данные полученые от пользователя вставляются в инклуд.
Как крайность можно фильтровать строку:
$str = preg_replace("#[^0-9a-zA-Z_\-]*#", "", $str); // вроде так, писал код непосредственно в комменте
|
P.S. Экранирование строки через mysql_escape_string там ну явно лишнее... | |
|
|
|
|
|
|
|
для: Bvz
(05.09.2009 в 00:55)
| | Насколько я понимаю количество модулей ограничено? Если да, то
<?php
$module = (isset($_GET['module'] && !empty($_GET['module'])) ? $_GET['module'] : 'main';
$modules = array('guestbook', 'news', ..., 'services');
if (!in_array($module, $modules)) $module = 'main';
include_once 'include/'.$module.'.php';
?>
|
| |
|
|
|
|
|
|
|
для: Bvz
(05.09.2009 в 00:55)
| | Читаю тему "как обезопасить подключаемый скрипт от атаки" и текст "как обезопасить подключение скрипта от атаки" .
А меж тем атаке подвергается скрипт подключающий.
Что же Вы всё таки хотите обезопасить?
Вот я с удовольствием бы обезопасил моск. Но ведь не дадите... | |
|
|
|
|
|
|
|
для: Trianon
(05.09.2009 в 13:02)
| | ))) подключающий скрипт не правильно выразился, спасибо за поправку | |
|
|
|
|
|
|
|
для: Bvz
(05.09.2009 в 13:16)
| | вопрос в силе! | |
|
|
|
|
|
|
|
для: Bvz
(07.09.2009 в 14:32)
| | Вам же @andry ответил.
Для начала очень полезно не разрешать вообще ситуации где данные полученые от пользователя вставляются в инклуд.
сто процентов. Ни убавить, ни прибавить. | |
|
|
|