0

たとえば、' がテキスト フィールドに入力されると、PHP はその前に \ を置きます。

フィルタリングには以下を使用しています。

$comment_body = $_POST['comment_body'];
$comment_body = nl2br(htmlspecialchars($comment_body));
$comment_body = mysqli_real_escape_string($db_conx,$comment_body); 

このスラッシュが表示されないようにするにはどうすればよいですか?

4

3 に答える 3

1

contextに関してサニタイズを使用する必要があります。

データベースに保存するときは、mysqli_real_escape_string()のみを使用してください。変数を HTML に出力する場合は、htmlspecialchars()を使用してください。

スラッシュが自動的に追加されるのは、新しいバージョンの PHP では既に削除されているmagic_quotes_gpcの設定が原因である可能性がありますが、設定はphpinfo();で確認できます。

于 2013-08-03T20:50:12.157 に答える
0

おそらく、次のようにマジック クォートが設定されている可能性があります: magic_quotes_gpc

于 2013-08-03T20:50:52.237 に答える
0

これは mysqli_real_escape_string が行うことです。これは、データをデータベースに入れる場合にのみ使用してください。$comment_body を出力する場合は、スニペットの最後の行を省略してください。二重エスケープが発生している場合は、おそらく マジック クォート構成ディレクティブの結果です。

于 2013-08-03T20:46:44.577 に答える