Включить безопасность - PullRequest
1 голос
/ 11 февраля 2009
<?php
if (preg_match('/^[a-z0-9]+$/', $_GET['page'])) {
$page = realpath('includes/'.$_GET['page'].'.php');
$tpl = realpath('templates/'.$_GET['page'].'.html');
if ($page && $tpl) {
    include $page;
    include $tpl;
} else {
    // log error!
}
} else {
// log error!
}
?>

Насколько безопасно это сказать? Гамбо здесь на Stack Overflow написал это.
Динамический Включить Безопасность

Я хочу услышать ваше мнение.

ура

Ответы [ 4 ]

2 голосов
/ 11 февраля 2009

Моя первая мысль не о безопасности, а о том, почему в мире вы бы это сделали?

2 голосов
/ 11 февраля 2009

Я бы сказал, что это довольно безопасно. Просто не позволяйте ничего писать в эти папки. Файлы PHP традиционно находятся внутри веб-корня сервера, с которого опасно начинать. Было бы лучше поместить загружаемые файлы в область, которая абсолютно недоступна извне, из-за ошибки конфигурации или отсутствия файла .htaccess.

0 голосов
/ 11 февраля 2009

Я мог видеть некоторые потенциальные проблемы там, особенно если переменная 'page' содержала '..' или другие подобные вещи, которые могли бы позволить им видеть то, что они не должны были видеть.

Я делаю нечто похожее на нескольких моих сайтах, но сначала я проверю «страницу», чтобы убедиться, что она ссылается на один из набора разрешенных страниц.

0 голосов
/ 11 февраля 2009

Вы включая свой собственный код. насколько это безопасно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...