私のファイル構造の例です。phpファイルへの直接アクセスの防止
/index.php
/inc
/inc/file1.php
/inc/file2.php
/inc/file3.php
/search.php
index.phpには、file1.php、file2.php、およびfile3.phpが含まれます。 そしてindex.phpだけでアクセスできるようにしたいと思います。
最も洗練されたソリューションは何ですか?
おかげ
私のファイル構造の例です。phpファイルへの直接アクセスの防止
/index.php
/inc
/inc/file1.php
/inc/file2.php
/inc/file3.php
/search.php
index.phpには、file1.php、file2.php、およびfile3.phpが含まれます。 そしてindex.phpだけでアクセスできるようにしたいと思います。
最も洗練されたソリューションは何ですか?
おかげ
は、ドキュメントルートの外にそれらを取得します。
/documentroot/index.php
/inc/file1.php
/inc/file2.php
/inc/file3.php
ので、全くそれらへの直接アクセスがありません。他のページを直接上記のコードにアクセスしているときに、あなたの他のページにあなたが<?php
if(!defined('RESTRICTED'))exit('No direct script access allowed!');
後にこれを入れ
define('RESTRICTED',1);
:あなたはこのように定数を定義することができますはindex.phpで
RESTRICTEDが設定されていないと判断し、終了します。
.htaccessファイルを作成し、INCフォルダに
<Files .htaccess>
order allow,deny
deny from all
</Files>
<Files *.php>
order allow,deny
deny from all
</Files>
またはファイルの先頭にこれを入れてそれを置くあなたがApacheの場合
if(strrchr($_SERVER['PHP_SELF'],'/')=='/file_name.php'){die;} // not good for ajax include
をdenieしたい、と '.htaccess'が許可されています'.htaccess'ファイルを'/inc'に 'Order allow、deny'と' Deny from all'という行を付けてください。 – Wrikken