このコード行は、他の誰かから取得した私のファイルの 1 つに見つかりました。この行には、ユーザーがファイルにアクセスするのを制限するための行があります。システム ファイルへのアクセスを制限する必要があるため、誰かがこのコード行を説明できますか?
if(!defined('IN_INDEX')) { die('Sorry, you cannot access this file.'); }
このコード行は、他の誰かから取得した私のファイルの 1 つに見つかりました。この行には、ユーザーがファイルにアクセスするのを制限するための行があります。システム ファイルへのアクセスを制限する必要があるため、誰かがこのコード行を説明できますか?
if(!defined('IN_INDEX')) { die('Sorry, you cannot access this file.'); }
PHP ファイルへの直接アクセスを防止するのはよくある手口です。たとえば、次のファイル構造の場合:
|- index.php
|- db.php
データベース接続情報と初期化が含まれていると仮定するとdb.php
、ユーザーがこのファイルに直接アクセスすることは望ましくありません (たとえソース コードを読めなくても)。db.php
別のスクリプトからインクルードして使用するだけです。
では、db.php
次の行を記述します。
if(!defined('IN_INDEX')) { die('Sorry, you cannot access this file.'); }
そして、 inにdefineindex.php
を含める前に、次のようにします。db.php
IN_INDEX
define('IN_INDEX', true);
include 'db.php';
その後db.php
、実行されます。
IN_INDEX が以前に定義されているかどうかを確認するだけです。これは、スクリプトの別の部分で認証機能の一部として定義されていたはずです。