妥当なサイズの Web サイトであれば、PHP インクルードを使用してモジュールで構築することには大きな利点があることは明らかなので、インクルードを使用してページ コンテンツを動的に作成することにしました。私はヘッダーとフッターを含めるという考えに反対だったので、次のように逆を行いました (index.php):
if(isset($_GET['page']))
{
$whitelist = array("contact","about","access", etc.);
if(in_array($_GET['page'], $whitelist))
{
include($_GET['page'].".php");
}
}
else
{
include('home.php');
}
セキュリティ上の理由でこれに反対する人もいますが (彼らは決して代替案を提示しません)、私はそれがきちんとした解決策だと思います。私の質問は、サイトに数百または数千のページがある場合はどうなるかということです。ホワイトリスト配列が巨大になるまで変数を追加し続けますか、それとももっと良い方法がありますか?