-2

POST 経由で送信されたフォームが自分の Web サイトからのものであることを確認する方法があるかどうか疑問に思っていました。私はいくつかのチュートリアルを見て、検証に「非表示」の入力値を使用することを提案しましたが、誰もが私の Web サイトの HTML ソースを表示し、テキスト ボックスの名前属性などの情報を収集できるため、これはまったく無意味です。

はっきりしない場合はお知らせください。

PHP と ASP.NET を使用して Web サイトを作成する方法を学び始めたのはつい最近のことです。初心者なのでわかりやすく教えてください。前もって感謝します。

4

4 に答える 4

4

リファラー URL を確認して、ドメインと一致する場合は安全です。

$ref = $_SERVER["HTTP_REFERER"];

ドメイン名のみを取得するために分割した後、値 $ref をドメイン名と比較します。

于 2013-07-19T06:03:15.377 に答える
0

フォームにどのようなフィールドとデータが期待されているかはよくわかっているので、それに対して POST データを検証するのが最善の方法です。x 個のフィールドを期待していることがわかっている場合は、それを検証し、そのデータを検証します。たとえば、日付を入力するフィールドがある場合は、PHP を使用して有効な日付であることを確認します。整数の場合は、何かに使用する前に整数であることを確認してください。テキスト フィールドの場合は、html や JavaScript などをすべて取り除きます。

フォームが Web サイトから投稿されたものであることを確認するよりも、これを行う方がはるかに優れています。

于 2013-07-19T06:03:32.633 に答える