cakePHPのクロスサイトスクリプティング対策としてh()関数を使用することが推奨されています。
h()関数はPHP のネイティブ関数htmlspecialchars()の短縮表記です。
検品中にクライアントからシングルクオートも対応してほしいという要望があり、時間もなかったことから、コア部分のcake/basics.php-function h($text) {…}を修正することにしました。
function h($text) {
if (is_array($text)) {
return array_map('h', $text);
}
-return htmlspecialchars($text);
+return htmlspecialchars($text, ENT_QUOTES);
}
今思うと、
function h($text, $mode=ENT_QUOTES) {
if (is_array($text)) {
return array_map('h', $text);
}
-return htmlspecialchars($text);
+return htmlspecialchars($text, $mode);
}
のようにクオート変換モードを設定できるようにしてほうが適切でしたね。
ここ変更したかったので、助かりました。ありがとうございました。