特定のページのURLを非表示にして、ユーザーがそのページに直接アクセスしないようにしたい。特定のページの実際のURLを非表示にすることはできますか?
は、私は、ユーザーがWWWにリダイレクトされる前に完了する必要がフォームを持っている。******。com/xyz.php。
彼らはフォームを完了し、リダイレクトされた場合、それは、WWWのように表示されるURLのために可能である。******。com?
アドバイスを楽しみにしています!それはベストプラクティスではないかもしれないが
特定のページのURLを非表示にして、ユーザーがそのページに直接アクセスしないようにしたい。特定のページの実際のURLを非表示にすることはできますか?
は、私は、ユーザーがWWWにリダイレクトされる前に完了する必要がフォームを持っている。******。com/xyz.php。
彼らはフォームを完了し、リダイレクトされた場合、それは、WWWのように表示されるURLのために可能である。******。com?
アドバイスを楽しみにしています!それはベストプラクティスではないかもしれないが
あなたは、HTTP POSTアクションのためのHTTP GETアクションと別のHTMLの1セットを提供することができます。あなたのgetアクションはフォームを返すことができ、postアクションへの応答はあなたの2番目のページを返すことができます。
は、これらには、これは悪い考えであることを多くの理由があります
一時的なアクセストークンを生成するか、クッキーを設定してフォームが完成したと言ってもいいでしょう。
最高ソリューションは、おそらく議論のための次第ですが、単純な解決策では、二つの.phpのページはのは、彼らにindex.php
とform.php
を呼ぶことにしましょう持っていることです。 GET
要求がwww.example.com
に行われると、Webサーバーはindex.php
を提供するように構成されています。 (正確な方法は、サーバーソフトウェアによって異なります)。
index.php
はクッキーをチェックし、クッキーが設定されていない場合はform.php
にリダイレクトします。 See this question/answer for more details
form.php
フォームのクッキーを設定し、index.php
に戻るリダイレクトによってPOST
要求にHTMLを提供することによってGET
要求に応答します。 WWWのルートディレクトリに
「簡単に敗北しました」...?それはちょうど何かに対する防衛であるとは必ずしも考えられていません... – deceze
@deceze "ユーザーが直接アクセスすることを防ぐ" - しかし多分防衛はまだ強すぎる –
****コム.htaccess
と呼ばれるファイルを作成します(まだ存在しない場合)、その中に次の行を追加します。。
DirectoryIndex xyz.php
これは、すべてのリダイレクトしますwww。****。comからwww。***。com/xyz.phpへのリクエスト
したがって、ユーザがwww。****。comを訪問すると、ブラウザに表示されるurlは同じですが、ロードされたページはxyz.phpになります
:)
なぜリダイレクトしていますか?なぜフォームからのPOST要求に応答してコンテンツを提供するだけではないのですか? – Quentin
「URLから隠れている」という言葉を考えないでください。ユーザーが見るページは、URLによって決まります。ブラウザに表示されるURLは、ユーザーに表示されるページのURLです。ユーザーはページAにアクセスすることはできませんが、アドレスバーにはページBを表示することはできません。彼らがページBを訪れている場合は、ページBがアドレスバーに表示され、そうでない場合はページBにはアクセスしません。あなたが取り入れる必要があるのは、HTTPのリクエストレスポンスであり、サーバーは常に*何* request *に送る* response *の完全な制御。 URLはそれのほんの一部です。 – deceze