2016-06-28 4 views
1

リンク(ボタン、リンク、リダイレクトなど)によって、またはURLバーでタップして、ウェブページに到達したかどうかを検出できるかどうか疑問に思っています。GETがボタンから来たものか、URLバーから入力されたものかを確認することはできますか?

イムWebプログラミングのためのClojureを使用して、その要求は「入力されたURL」から来たとき、私は、私はいくつかのページへのアクセスをブロックすることができることを望みます。ユーザーは「本物」のURLにアクセスすることができませんので

今私は、URLをコード化しています。

ありがとうございます。ウィキペディアの

答えて

3

短い答えはいいえ。あなたの問題は正しいです。

少しでもスキルがあれば、任意のHTTPリクエスト(GETまたはPOST)を送信して、Cookie、ヘッダー、リクエストの本文を変更することができます。セキュリティに関しては、暗号化されたデータを使用するアプローチは唯一のようですURLが改ざんされていないか手動で入力されていないことを確認することができます。

HTTP Refererヘッダーは、偽装することもできます。これは、urlパラメーターと同じです。 httpヘッダーまたはURLでエンコードされたパラメータを使用することでセキュリティがなくなりました。

+0

はい、http-headerを通じてリファラーを得ることができますが、あなたが言ったように、それも偽造することができます。しかし、それは少なくとも何か他のものです。私は暗号化されたデータを扱うことを試みます、より安全です。ご協力いただきありがとうございます –

3

礼儀:

HTTPのリファラ(参照元の本来スペルミス[1])であるに連結されたウェブページのアドレス(すなわち、URIまたはIRI)を識別するHTTPヘッダフィールドリソースが要求されています。リファラーをチェックすることにより、新しいWebページはリクエストの発信元を確認できます。

私はあなたがHTTPヘッダーフィールドにアクセスすることができますと仮定します。ユーザーがアドレスバーにURLを入力すると、HTTPリファラーはありません。

+0

ありがとう、私はチェックし、私のヘッダーに "参照元"のURLがあります。 –

+1

このヘッダーは簡単に偽造することができ、セキュリティ上の目的で使用しないでください。 –

+0

@JarredHumphrey真実ですが、すべてのHTTPフィールド(暗号化されたCookieを除いて)は除外されます – micker

関連する問題