Security Error: Possible Cross-site Request Forgery (CSRF)
tDiaryの編集後の書き込みでエラー「Security Error: Possible Cross-site Request Forgery (CSRF)」が発生する。 「設定の更新ができない(cannotsave!)」も、この対策が有効な場合もある。
原因
環境の違いにより、違うホスト名のreferでアクセスするため、セキュリティエラーが発生する。
例えば、データフォルダ下の環境ファイルtdiary.confを違う環境にコピーして起動すると、セキュリティエラー「Security Error: Possible Cross-site Request Forgery (CSRF)」が発生する。 または、PC上で、ホスト名で設定されているのに、localhostなど違うホスト名でアクセスする場合にも発生する。
注意: データフォルダ下のtdiary.confは、tDiaryの設定メニューで定義された内容が保管されている。
対策
正しいホスト環境のreferを設定する。
tDiaryの設定メニューの「日記のURL」を空白にして、[OK]を押す。自動的に正しいreferが再設定される。 または、referを記入する。
PCの場合: エラーを無視して、無理やり稼働させる。
アクセスしているホスト環境のreferを問題ないURLとして設定する。
@options['csrf_protection_allowed_referer_regexp_for_update'] = 'http:\\hogehoge\'
作成: 2011年11月4日
更新: 2012年3月2日
カテゴリ: システムFAQ