ホームページ > バックエンド開発 > PHPチュートリアル > PHP は、PHP ページが
から送信されたのか、アドレス バーから直接入力されたのかをどのように判断しますか?

PHP は、PHP ページが から送信されたのか、アドレス バーから直接入力されたのかをどのように判断しますか?

WBOY
リリース: 2016-07-06 13:53:52
オリジナル
1196 人が閲覧しました

リーリー

この例を考えてみましょう。この http://localhost/yb1/Home/curd/create が送信されているか、アドレス バーに入力されているかを確認するにはどうすればよいですか?

実際、これは次のことを意味します:
一度送信した後、http://localhost/yb1/Home/curd/create に移動し、
http://localhost/yb1/Home/curd/create のアクションが行われます。一度実行されたら、

F5 を押して直接更新すると、間違いなく問題が発生します。F5 を押したときに、それが投稿から来たのか、このページから直接更新したのかを知りたいだけです。

返信内容:

リーリー

この例では、http://localhost/yb1/Home/curd/create が送信されているか、アドレス バーに入力されているかを確認する方法を説明します。

実際、これは次のことを意味します:

一度送信した後、http://localhost/yb1/Home/curd/create に移動し、
http://localhost/yb1/Home/curd/create のアクションが行われます。一度実行されたら、

F5 を押して直接更新すると、間違いなく問題が発生します。F5 を押したときに、それが投稿から来たのか、このページから直接更新したのかを知りたいだけです。

参照元アドレスによって判断します

フォームの繰り返しの送信を防ぐ必要があると思います。これを実現するには、トークンを追加できます。

作成ページで

を使用して、フォームが送信されたことを示します

$_SERVER['REQUEST_METHOD']来判断,值为get说明是页面刷新来的,post

POST 処理が完了すると、バックエンドは新しい URL へのリダイレクトを開始できるため、ユーザーは送信を更新できません。

--改善してください

おおよその疑似コードは次のとおりです:

リーリー

送信するフォームをクリックするとマークが記録され、送信完了後に投稿の種類を判断して取得することもできます。

監視のためにアドレスバーデータを読み取ることはできますが、このメソッドインジケーターは根本的な原因を解決するものではなく、他の手段で post メソッドや get メソッドを偽造する可能性があります。

隠しドメインに参加できる場合があります


tp を使用する必要がありますが、tp で問題ありません

リーリー

フォーム送信メソッドが POST の場合、もう一度 F5 キーを押して更新すると、POST リクエスト メソッドになります。

被験者がそれを理解することをお勧めします

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート