ホームページ >バックエンド開発 >PHPチュートリアル >PHP フォーム検証 -w3school PHP 学習ノート w3school 初心者 w3school 公式 Web サイト w3school チュートリアル ダウンロード

PHP フォーム検証 -w3school PHP 学習ノート w3school 初心者 w3school 公式 Web サイト w3school チュートリアル ダウンロード

WBOY
WBOYオリジナル
2016-07-29 08:53:252550ブラウズ

注: PHP でフォームを処理する場合は、データのセキュリティに注意してください
ハッカーの侵入やスパム嫌がらせを防ぐために、HTML フォームを処理する前に送信されたデータを検証することが非常に必要です。
w3school在线教程,w3school菜鸟教程,w3school手册,w3school下载,w3school离线版,w3school.com.cn,w3school离线手册,w3school教程,w3school手册下载,w3school.chm最新版,html w3school,w3school手册完整版,w3school菜鸟,w3school官网,w3school教程下载
上記の HTML フォームは、次のルールが適用されることを前提としています:
フィールド – 検証ルール
名前 – 必須、文字とスペースを含める必要があります
電子メール – 必須。@ と
を含む有効な電子メール アドレスを含める必要があります。 URL (ウェブサイト) – オプション、入力する場合は有効な URL である必要があります
コメント – オプションの複数行入力フィールド
性別 – 必須、いずれかを選択してください
HTML コードは次のとおりです:

<code><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>form</span><span>action</span>=<span>'test.php'</span><span>method</span>=<span>'post'</span>></span>
        姓名:<span><<span>input</span><span>type</span>=<span>'text'</span><span>name</span>=<span>'name'</span> /></span><span><<span>br</span>/></span>
        电邮:<span><<span>input</span><span>type</span>=<span>'text'</span><span>name</span>=<span>'email'</span> /></span><span><<span>br</span>/></span>
        网址:<span><<span>input</span><span>type</span>=<span>'text'</span><span>name</span>=<span>'website'</span> /></span><span><<span>br</span>/></span>
        评论:<span><<span>textarea</span><span>name</span>=<span>'comment'</span><span>rows</span>=<span>3</span><span>cols</span>=<span>21</span>></span><span></<span>textarea</span>></span><span><<span>br</span>/></span>
        性别:<span><<span>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>'gender'</span><span>value</span>=<span>0</span><span>checked</span>=<span>'checked'</span>/></span>女性
        <span><<span>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>'gender'</span><span>value</span>=<span>1</span> /></span>男性<span><<span>br</span>/></span><span><<span>input</span><span>type</span>=<span>'submit'</span><span>value</span>=<span>'提交'</span> /></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>

このフォームは post メソッドを通じてデータを送信します
PHP 経由でフォーム データを検証する:
一般に、送信されたデータをフィルタリングする場合、htmlspecialchars() 関数を使用してデータを処理し、HTML タグの文字を HTML エンティティに変換します。たとえば、< と > は lt; gt;。これにより、攻撃者が HTML または JS コードをフォームに挿入してコードを悪用するのを防ぎます。 htmlspecailchars() 関数を使用すると、次のコード

<code><span><<span>script</span>></span><span>location.href(<span>'http://www.hacked.com'</span>)</span><span></<span>script</span>></span></code>
<code><span>&</span><span>lt</span>;script<span>&</span><span>gt</span>;location<span>.</span>href(<span>'http://www.hacked.com'</span>)<span>&</span><span>lt</span>;/script<span>&</span><span>gt</span>;</code>
にエスケープされ、送信されたデータは安全になり、ページ コードに損傷を与えることはありません。
さらに、htmlspecialchar() 関数を使用してデータをフィルタリングすることに加えて、次の 2 つのことも行う必要があります:

ユーザー入力データ内の不要な文字 (余分なスペース、タブ、改行など) を削除し、 Trim() 関数


は、PHP のtripslashes() 関数

を使用して、ユーザー入力データからバックスラッシュ() を削除します。 フォームデータ処理の例:
  1. <code><span><span><?php</span><span>$name</span>=<span>$email</span>=<span>$website</span>=<span>$comment</span>=<span>''</span>;
    <span>$gender</span>=<span>0</span>;
    <span>$name</span>=test_input(<span>$_POST</span>[<span>'name'</span>]);
    <span>$email</span>=test_input(<span>$_POST</span>[<span>'email'</span>]);
    <span>$website</span>=test_input(<span>$_POST</span>[<span>'website'</span>]);
    <span>$comment</span>=test_input(<span>$_POST</span>[<span>'comment'</span>]);
    
    <span><span>function</span><span>test_input</span><span>(<span>$data</span>)</span>{</span><span>$data</span>=trim(<span>$data</span>);<span>//去除$data数据两侧多余的空格</span><span>$data</span>=stripslashes(<span>$data</span>);<span>//去除$data中的反斜杠</span><span>$data</span>=htmlspecialchars(<span>$data</span>);<span>//将html标签转以为html实体</span><span>return</span><span>$data</span>;
    }
    
    
    <span>?></span></span></code>
  2. ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
  3. ').text(i)); }; $numbering.fadeIn(1700); }); });
  4. 上記は、w3school の内容を含む PHP フォーム検証 -w3school PHP 学習ノートを紹介しています。PHP チュートリアルに興味のある友人の役に立てば幸いです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。