フォームの作成と処理は、Web 開発者にとって重要な能力指標です。この章では、重要なポイントをまとめます。
1. GET と POST の違い
GET メソッドは ASCII 文字以外の文字をサポートしておらず、一部のブラウザーでは自動的に完了できるエンコード操作 (url_encode()、url_decode()) が必要です。
2. フォーム要素
一般的に使用される 12 個のものだけを覚えておいてください。ここでは説明しません。
3. 投稿元を確認する
ソース: $ref = $_SERVER['HTTP_REFERER']
サーバーアドレス: $srv = {$_SERVER['SERVER_NAME']} {$_SERVER['PHP_SELF']}
if( strcmp($ref,$srv) == 0 ) 安全
4. データを複数のページに転送する
3 つのオプション:
隠し要素を形成する
データはセッションに保存されます
データはデータベースに保存されます
5. フォームデータを確認します
ユーザーが私たちの希望に従ってデータを入力することを期待しないでください。クライアント側とサーバー側でそれを検証する必要があります。
フォームの繰り返しの送信を避けるためのいくつかのオプション:
(1)クライアントjs
(2)クッキー
(3)セッション
D(4)ヘッダー()関数が回転します
フォームの有効期限の処理 (誤って送信した後の返信ページでのデータ損失を避けるため)
6. フォームセキュリティ
XSS 攻撃を防止: www.2cto.com
htmlspecialchars() まず、「 <」の HTML エンコードを行います。
htmlentitles() HTML ハイパーテキスト エンティティを変換し、主に出力をフィルタリングします (js スクリプト タグをフィルタリングします)
strip_tags() は HTML コードを削除します
権限レベルが変更されるたびに、session_regenerate_id () を使用してセッション ID を変更します。
SQL インジェクションを防ぐ:
mysql_escape_sstring()
mysql_real_escape_sstring()
7. 安全なコードを開発する
ユーザー入力の検証
高度な検証 ctype
データフィルタリング - pecl フィルター拡張機能
input_get()
ファイルパスの検出
マジッククォート magic_quote_gpc、この方法は推奨されません
http://www.bkjia.com/PHPjc/477698.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/477698.html技術記事フォームの作成と処理は、Web 開発者にとって重要な能力指標です。この章では、重要なポイントをまとめます。 1. GET と POST の違い GET メソッドは ASCII 文字以外の文字をサポートせず、エンコード操作が必要です...