• 締切済み

urlの直接入力を防ぐには

urlが http://xxxxxxxxxxx.php?action=add などとなっています。 ユーザーにaction=add部分をさわって欲しくないため、 urlを直接入力してもエラー画面などがでるようにしたいのですが、 どうしたら良いでしょうか?

みんなの回答

回答No.3

例を一つ。 例えば、セッションを使って $uniqid = uniqid(""); $_SESSION["uid"] = $uniqid; としておいて、GETで送る変数に hogehoge.php?action=add&uid={$uniqid} としておき、直たたきしたときに$_SESSION["uid"]と$_GET["uid"]が一致しないときにエラーを吐くようにすれば良いと思います。 当然、uidは毎ページごと作成します。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

POSTをつかう。

すると、全ての回答が全文表示されます。
  • maguro999
  • ベストアンサー率21% (59/273)
回答No.1

リンク元のrefererを利用する ただし最近のセキュリティーソフトはrefererをはかないものになっているのが多い。

すると、全ての回答が全文表示されます。

関連するQ&A