使用するレンタルサーバーがヘテムルで、備忘録のソース情報をcakephpで構築したシステムでmysqlに保存するという流れを構築し、実行してみたら403エラーが発生しました。

色々と調べてみると、クロスサイトスクリプトの関係でセキュリティ的にヘテムルが特定の文字列を送信された場合に発生するのだそう。

そのため、Htmlのtextareaをソース情報入力フォームにしてPHPの情報をmysqlに飛ばせばヘテムルのシステムにより止められるという感じになります。

また、cakePHPはHTMLヘルパーによるtextareaの吐き出しではエスケープの機能もないという情報がちらほら。

ヘテムルの方でもセキュリティーの設定により調整できるとのことなので、以下のことを踏まえコーディング修正行ったら上手くいきました。

 

  • ヘテムルでドメイン登録した時にWAF設定がデフォルトはONであり、これをOFFにすることでヘテムルのセキュリティによる403表示を回避
  • HTMLヘルパーでtextareaを作成する場合、オプションに ‘escape’ => true を追加

 

これでダメなら手動でPOSTで飛ばしたソース情報をエンコードするプログラムを作る必要があるそうだけど、無事登録できたので今のところここはこの対応で終了。