1

この機能を作りました

function echoSanitizer($var)
{
$var = htmlspecialchars($var, ENT_QUOTES);
$var = nl2br($var, false);
$var = str_replace(array("\\r\\n", "\\r", "\\n"), "<br>", $var);
$var = htmlspecialchars_decode($var);
return stripslashes($var);
}

xss 攻撃から安全でしょうか?

  • htmlタグを取り除くためのhtmlspecialchars
  • 新しい行の nl2br
  • \r\n をに変換する str_replace<br>
  • 元の文字に戻すための htmlspecialchars_decode
  • ストリップスラッシュを STRIPSLASHES に

なぜ私はそのすべてが必要なのですか?ユーザーが入力したものをプレビューしたいので、WYSIWYG で表示したかったからです。入力の一部は textarea ボックスからのもので、スペースを保持したかったので nl2br が必要です。

一般的に、私は (htmlspecialchars_decode) について尋ねています。これは私にとって初めてのことです。安全ですか?全体として、ユーザー入力を表示するために使用する場合、私が安全にした機能はありますか?

(このシナリオにはデータベースは含まれません。)

4

1 に答える 1

1
于 2013-05-07T21:37:50.020 に答える