ホームページ  >  記事  >  バックエンド開発  >  PHPフォームを送信するときにスラッシュを削除するサンプルコード

PHPフォームを送信するときにスラッシュを削除するサンプルコード

怪我咯
怪我咯オリジナル
2017-07-14 10:04:211206ブラウズ

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[&#39;submit&#39;])) {
        //this a "test",5.3.8不自动加斜杠,我测试时是这样的
        echo "原型输出:".$_POST[&#39;str&#39;]."<br/>";
        echo "转换实例:".htmlspecialchars($_POST[&#39;str&#39;])."<br/>";
        echo "删除斜线:".stripslashes($_POST[&#39;str&#39;])."<br/>";
        echo "删除斜线和转换实体:".html2Text($_POST[&#39;str&#39;])."<br/>";
      }
      function html2Text($input) {
        return htmlspecialchars(stripslashes($input));
      }
    ?>
    <?php
      $str = "<font color=&#39;red&#39; 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。