|
|
|
|
|
для: cheops
(21.11.2009 в 12:31)
| | спасибо! Тоже об этом думал, вы подтвердили мои догадки... значит добавлю эту обработку, а то аписал я это давно и использую во всех проектах, а тут бац и пришла в голову мысль, что это может быть небезопасно :) | |
|
|
|
|
|
|
|
для: DEM
(21.11.2009 в 08:04)
| | Собственно сразу чужой код использовать нельзя, но вот в параметр $mod, можно загрузить конструкции вида ../../../ и это никак не обрабатывается. | |
|
|
|
|
|
|
|
для: cheops
(14.11.2009 в 12:53)
| | Но безопасно ли это?
Или как-то можно взломать? | |
|
|
|
|
|
|
|
для: DEM
(09.11.2009 в 21:48)
| | Собственно, если работает, то нормально. | |
|
|
|
|
|
|
|
<?php
function bez($str)
{
$str = trim($str);
if (!get_magic_quotes_gpc())
{
$str = mysql_escape_string($str);
}
return $str;
}
function html($str)
{
$str = trim($str);
$str = htmlspecialchars($str, ENT_QUOTES);
return $str;
}
function include_modules($razdel, $mod="")
{
$razdel = bez($razdel);
$mod = html($mod);
$razdel_prov_query = mysql_query("SELECT * FROM `".PR."modules` WHERE `razdel`='".$razdel."'");
if(mysql_num_rows($razdel_prov_query) == 0)
{
include_modules("news_index");
}
else
{
if(!empty($mod))
include_once "modules/".$razdel."/".$mod.".php";
else
include_once "modules/".$razdel."/index.php";
}
}
?>
|
Функция получает два параметра НАЗВАНИЕ РАЗДЕЛА и ПОДМОДУЛЬ (то есть есть в модуле не только есть index.php, но и другие страницы, то этот параметр отвечает за него).
Есть таблица в которой занесены все активные модули, если модуля нет, то вывести стандартный модуль (новости). Скажите, нормально ли я подключаю эти модули или правильно делать как-то иначе? | |
|
|
|
|