2

私は2つのウェブサイトを持っています

1) メイン Web サイト: ユーザーを別のヘルプ Web サイトにリダイレクトする [ヘルプとトレーニング] リンクがあります。

2) ヘルプ Web サイトには認証ルールがないため、誰でも Web サイトに直接アクセスできます。

ここで、最初の Web サイトのリンクから 2 番目の Web サイトにアクセスできるようにする必要があります。他のすべての要求は別のページにリダイレクトする必要があります。

オフコースのクエリ文字列/パラメーターの検証は、表示され、一定である可能性があるため、受け入れられません

可能ですか、どんな提案でも大歓迎です。

4

5 に答える 5

3

HTTP リファラー ヘッダーの単なる ASP.NET ラッパーである http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspxを使用できます。http://en.wikipedia.org/wiki/HTTP_referrer

もちろん、これはなりすましの可能性があるため、非常に安全なものを作成するためにこれに依存しないでください。

于 2012-05-02T13:23:41.273 に答える
2

最初のサイトのリンクの URL に get パラメータを追加し、2 番目のサイトでそれをチェックするとどうなるでしょうか。もちろん、これは非常に単純な解決策であり、すぐにだまされる可能性があります。

于 2012-05-02T13:20:48.693 に答える
0

平均的なユーザーが簡単にスプーフィングできないものが必要な場合...

site2 は、「秘密の」パラメーターを検証する Web サービスを公開します (site1 と site2 だけが知っている長いランダムな文字列である可能性があります)。このサービスは、短期間だけ有効な一意の「トークン」を返します。site1 は、ユーザーを site2 に誘導するときに、このトークンをクエリ文字列に追加します。site2 は、トークンが正当であり、まだ有効であることを検証します。トークンが使用されると、site2 はそれを有効なものとして扱わなくなります。

于 2012-05-02T14:22:11.213 に答える
0

ここから:

リクエストのUrlReferrerプロパティを使用できます。

Request.UrlReferrer

これにより、リクエストからReferer HTTP ヘッダーが読み取られます。これは、クライアント (ユーザー エージェント) によって提供される場合と提供されない場合があります。

于 2012-05-02T13:27:06.123 に答える
0

こんにちは、このコード ブロックを使用して、ユーザーがどこから Web サイトにアクセスしたかを特定できます

 If Not IsPostBack Then
            If Not Request.UrlReferrer.ToString() Is Nothing Then
                referrer = Request.UrlReferrer.ToString()
            End If
        End If
于 2012-05-02T13:28:43.203 に答える