PHP プログラムがバックスラッシュを追加する理由は、特殊文字 をエスケープするためです。バックスラッシュ ボックス "/"、一重引用符 "'"、二重スラッシュ "//"、セミコロン "; " やその他の特殊記号をエスケープしないと、データベースに直接入力することができず、直接エラーが発生します。たとえば、二重スラッシュは直接 SQL 挿入ステートメントに挿入され、二重スラッシュは SQL 挿入ステートメントに挿入されます。エスケープがない場合は、SQL に直接挿入される PHP のコメント記号ですが、次のステートメントはコメント化されています。特殊文字を自分で操作したい場合は、誰かが悪意を持ってデータベースに挿入した場合、単なるエスケープの問題ではなく、データベースが直接攻撃されることになります。したがって、データをライブラリに挿入する前に、データを検証し、特殊文字をエスケープする、つまり、そのアイデンティティを検証する必要があります。この記事では、フォームを送信するときにスラッシュを削除する PHP の実装を主に紹介します。この方法には、送信された要素をフィルタリングするための PHP 関連のスキルが含まれます。必要な友達はそれを参照してください、詳細は次のとおりです:<html>
<head>
<title>HTML 表单</title>
</head>
<body>
<form action="" method="POST">
请输入一个字符串:
<input type="text" size="30" name="str" value="">
<input type="submit" name="submit" value="提交"><br/>
</form>
<?php
if(isset($_POST['submit'])) {
//this a "test",5.3.8不自动加斜杠,我测试时是这样的
echo "原型输出:".$_POST['str']."<br/>";
echo "转换实例:".htmlspecialchars($_POST['str'])."<br/>";
echo "删除斜线:".stripslashes($_POST['str'])."<br/>";
echo "删除斜线和转换实体:".html2Text($_POST['str'])."<br/>";
}
function html2Text($input) {
return htmlspecialchars(stripslashes($input));
}
?>
<?php
$str = "<font color='red' size=7>Linux</font><i>Apache</i><u>MySQL</u><b>PHP</b>";
echo strip_tags($str);//删除全部HTML标签
echo "<br/>";
echo strip_tags($str,"<font>");//第二个参数,保留的标签
echo "<br/>";
echo strip_tags($str,"<b><u><i>");
?>
</body>
</html>
以上がPHPフォームを送信するときにスラッシュを削除するサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。