■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

メールフォーム、確認画面のサニタイズ

binbin > メールフォーム、確認画面のサニタイズ @ 2019/3/5 20:23
vsersion 4.1.6

メールフォームで確認画面が表示される際にも、任意に入力値をサニタイズしたく、
次のようなコードをイベントに仕込んだのですが、入力値が書き換わらないのです。
なにか間違えていましたでしょうか?

public function initialize(CakeEvent $event){
	$Controller = $event->subject();
	if(isset($Controller->data['MailMessage']['name'])){
		$Controller->data['MailMessage']['name'] = h($Controller->data['MailMessage']['name']);
	}
}



サニタイズ対象としている入力値は次のようなものです。
<script>alert("こんにちは"); </script>



seto > Re: メールフォーム、確認画面のサニタイズ @ 2019/3/6 12:46
こんにちは

メールフォームの確認画面での入力値のエスケープは4.1.6に含まれているのですが、動作していなかったでしょうか?
https://github.com/baserproject/basercms/commit/0c7c750c002543d7b1b280aa7bf34dc8da6bd72d
binbin > Re: メールフォーム、確認画面のサニタイズ @ 2019/3/6 14:27
setoさん
返信ありがとうございます。

よく見たら 4.1.6-dev で、該当箇所のh()は無かったです。
付けたらサニタイズされるようになりました。
ありがとうございました!