对表单这一块不太熟,有以下几个疑惑?
1.诸如在登录验证用户名和密码的时候,二者都是同样的方式提交到post到服务器吗?
2.get方式会把参数暴露到链接尾部(实际上会通过把key键值加密然后后端再解密校验)?
3.现在的表单常规处理方式是什么样的?
4.密码校验的时候,诸如在比对密码要求密码中不能是3位同样的连续数字?这个密码会存在本地?还是服务器端来校验
大家讲道理2017-04-18 10:58:47
通常、ログインユーザー名の検証は一緒にサーバーに投稿されるのではありませんか?
get メソッドはリンクの末尾にあるパラメータを公開しますが、ブラウザ自体には暗号化がありません。暗号化されている場合は、自分で調整する必要があります。
一部のフォーム値については、有効か空でないかなど、ユーザー エクスペリエンスを向上させるために、送信前にプロンプトを表示する必要があります。
すべてを行う必要があります。フロントエンドはユーザー エクスペリエンス (リクエストを行う前に問題を把握する) のためにあり、バックエンドはセキュリティのためにあります。
エンタープライズ レベルのサービスの場合は、プレーン テキストの代わりに https を使用します。
ringa_lee2017-04-18 10:58:47
ユーザー名は 3 桁以上である必要があり、パスワードは 6 ~ 32 桁である必要があります。
1 をクリックしてログインすると、ユーザー名の長さが 3 桁より大きいことが検出されます。パスワードの長さは 6 ~ 32、検証コードの長さは 4 です。「Go down」に進むと、アラートは渡されません。
3 という名前のパスワードをサーバーが受け取ります。パラメーター
4. 長さが 4 に等しいか、4 に等しくないか、戻り検証コードの長さが異常であることを確認します。
5. セッションからコードを取得し、パラメーター コードと一致しているかどうか、一貫性のない戻りエラーを確認します。ユーザー名の長さ、パスワードの長さ、間違った戻りエラー
7. pwd を暗号化する必要がある場合
8. データベースから name=name、pwd=pwd を選択し、はいの場合はユーザーを返し、そうでない場合は 0 を返します
PHP中文网2017-04-18 10:58:47
GET は URL 内のデータを直接表示します。
POST は「隠蔽され盗まれている」ので、URL は見ることができませんが、ブラウザー開発者ツールを使用すると見ることができます。
上記のいずれであっても、「ハッカー」はパケットをキャプチャできます。データ送信中にプレーン テキスト データを取得し、コンテンツを改ざん/乗っ取ってサーバーに渡すことも、サーバーになりすまして偽の情報を直接返すこともできます。
HTTPS を使用する場合、データは送信中に最初に暗号化されるため、比較的安全です。
パラメータの検証に関しては、フロントエンドの JS 検証は簡単にバイパスできるため、フロントエンドとバックエンドの両方で行う必要があります。