1
<?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 の Gumbo が書いています。
動的インクルードの安全性

あなたの意見を聞きたいです。

乾杯

4

4 に答える 4

2

私が最初に考えたのは安全性ではなく、一体なぜそんなことをするのかということでした。

于 2009-02-11T13:16:12.867 に答える
2

かなり安全だと言えます。それらのフォルダーへの書き込みを許可しないでください。PHP ファイルは伝統的にサーバーの Web ルート内にあり、開始するのは危険です。構成エラーや .htaccess ファイルが見つからない場合に、外部から絶対にアクセスできない領域に、読み込まれるファイルを配置することをお勧めします。

于 2009-02-11T13:18:05.843 に答える
0

独自のコードを含めます。どのくらい安全ですか?

于 2009-02-11T13:13:50.487 に答える