23

デモ用の codeigniter プロジェクトのコントローラーの上にあるこの小さなコードに気付き、それが何をするのか、またそれを使用すべきかどうか疑問に思いました。

defined('BASEPATH') OR exit('No direct script access allowed');

また、使用する必要がある場合は、どこで使用する必要がありますか? コントローラー?モデル?両方?等..

4

1 に答える 1

43

codeigniter フレームワークを有効にするには、サイトに www.blahblah.com/index.php/params でアクセスする必要があります。最初に index.php を通過することで、フレームワークがアクティブになり、さまざまなクラスやその他のものが PHP を介して実行されます。次に、フレームワークは URL のパラメーターを確認し、特定のコントローラーをアクティブにします。このコード行により、フレームワークが適切に「起動」され、ユーザーが Web サーバー上で単一の php ファイルを実行しようとしていないことが確認されます。その php ファイルは、フレームワーク内のクラスが既に宣言されていることを前提としているため、コントローラー ファイルを単独で実行すると、惨めなほど失敗し、セキュリティ違反の可能性があります。直接アクセスは許可されていません。

于 2012-04-17T22:45:28.947 に答える