読者です 読者をやめる 読者になる 読者になる

忍び歩く男 - SLYWALKER

大阪のこっそりPHPer

CakePHP1.2.5 SecurityComponentでハマったときに確認するポイント

SecurityComponentを使うとすぐにblackHoleへ吸い込まれる貴方は必見です。

$form->create() $form->end() をちゃんと使っているか

SecurityComponentを使うとTokenをチェックしてくれますが、ちゃんとFormHelperを使ってTokenを発行しないことにはblackHoleへ吸い込まれてしまいます。
$form->create() $form->end() を使いましょう。
$form->submit() ではダメです!

DatabaseのTable内に存在しないField名を使っていないか

SecurityComponentではTokenを作成する際、DatabaseのTableのFieldを読み込んでHashを作っているようです。なので、それ以外のInput項目を付け加えてしまうとblackHoleへ吸い込まれてしまいます。
項目を付け加える必要がある場合は、以下のようにControllerに設定しておきましょう。

<?php
	public function beforeFilter() {
		$this->Security->disabledFields = array('hoge');
	}
?>