0

いずれかのアプリで「セキュリティ」コンポーネントを呼び出そうとすると、Web サイトの特定のページがクラッシュします。たとえば、AppController ファイルで、コンポーネントの定義を

var $components = array('Auth','Session','Email');

var $components = array('Auth','Session','Email','Security');

他のページからの POST データに依存している私のサイトのページがクラッシュします。私が得るのは空白の画面だけです。\cake\libs\controller\components ディレクトリには、'security.php' が定義されて保存されています。

これを引き起こしている原因、またはこれにアプローチする方法についてのアイデアはありますか?

4

1 に答える 1

0

それが、SecurityComponent が行うべきことです。

すべてのフォームに「トークン」を追加して、フォームが「有効」であり、改ざんされていないかどうかを確認することにより、アプリケーションを保護します (たとえば、誰かが JavaScript を使用してフォームに追加のフィールドまたは値を追加したなど)。

また、投稿されたフォームが、許可されているコントローラーおよび/またはアクション (allowedControllers) から発信されているかどうかも確認します。

要件が満たされない場合、「blackHoleAction」が呼び出され、それ以上のアクションが停止されます。

「public $components」ではなく「var $components」の使用法に基づいて、Cakephp 1.3 を実行していると思われます。SecurityComponent のドキュメントを参照してください: http://book.cakephp.org/1.3/en/The-マニュアル/Core-Components/Security-Component.html

allowedControllers と allowedActions の部分を読む

デバッグが無効になっているため、スクリプトのどこかにエラーが表示されていない可能性もあります。デバッグを有効にするには、core.php 設定ファイルでデバッグ レベルを 1 または 2 に変更します。

app/Config/core.php は、次の行でデバッグ レベルを 2 に設定します。

Configure::write('debug', 2);
于 2013-02-04T23:08:00.193 に答える