ユーザーが自分のサーバー上で実行されている特定のスクリプトにアクセスすることを不可能にしたいと考えています。この例では、ユーザーがresults.phpに直接アクセスできないようにします。
これを説明できる最も良い方法は、ウェブサイトのルートレベルがどのように機能するかを簡単に説明することです。
ROOTは4つのスクリプトが含まれています
のindex.php home.php error.php results.php
インデックスファイルには、私が含まれているとの、これら3つのファイルにユーザーを向けます特定の例。
新しいスクリプトが含まれ、ユーザーの視点が新しい「Webページ」に変更される前に、インデックスファイルに必要なコントローラと追加のスクリプトが含まれているため、これで少し問題が発生します。これは、ページの読み込み時間が非常に短くなったため、ユーザーにとって非常に迅速な経験を提供するため、これを行っています。
これらのファイルは、ロボットがインデックスを持たないメタデータで設定されており、サイトマップから削除されています。私はさらに一歩進んで、ユーザーがこれらのスクリプトに直接アクセスすることを不可能にしたいと思っています。http://www.mysite.com/results.php
これがそうであれば、レイアウトを持たない醜い非偶発的なページで挨拶されるからです変数、またはメインCSSスタイルシートが定義されています。
<?php
ob_start();
$activeHome = 'active';
require_once $_SERVER['DOCUMENT_ROOT'] . '/../../includes/config.php';
require_once($docRoot . '/includes/layout.php');
...
include 'home.php';
?>
このスクリプトは、3つの他のスクリプトを設定する任意のコードが含まれています。ここでは
はindex.phpをの簡単な概要です。ここif (isset($_GET['register']))
{
header('Location: http://www.mysite.com/register/');
exit();
}
そして、ホーム/結果/ error.phpに同じpageDetailsとpageContentを除き、これらのスクリプトで
<?php
....
echo $head1 . $pageDetails . $head2 . $header . $pageContent . $footer;
exit;
?>
variblesの全てであるととともに、レイアウトスクリプトで定義されていますメインのCSSファイル。
このWebサイトの設定でわかるように、これらのページをphp関数で制限する場合を除き、あまり多くのオプションが残っていません。私はグローバル変数やセッション変数を多用する必要があると考えていますが、これは私が大切にしていることではありません。より簡単な方法は、htaccessファイルでこれを行うことだと思います。しかし、私はhtaccessコマンドに関してはそれほど知識がありません。そして、もしこれがそのルートに行くことさえ可能であれば、私は確信していません。
このようなことについてもう少し知識があれば誰でも意見や提案を提供したいと思いますか?
htaccess経由で 'http:// www.mysite.com/register/register.php'にあるファイルへのアクセスを拒否したいのですが? –
@BlackberryFan Explained! –
@BlackberryFan /register/register.phpを含むように更新されました –