0

コマンドプロンプトからのリクエストも受け入れるように認証済みサーバーを実装したいと考えています。ユーザーは、ユーザー名とパスワードを使用して認証済みトークンを取得できます。

問題は、彼がそのトークンを持っているときに、そのトークンを使用して任意のマシンからさらに要求を出すことができることです。単一マシンのトークンを制限したい。それを制限する方法はありますか?

私は私の心に何かを持っています

  • IPとポート番号付き(IPの変更は簡単なので、適切な解決策ではないことを願っています)
4

1 に答える 1

0

IPとポート番号付き(IPの変更は簡単なので、適切な解決策ではないことを願っています)

IP とポート番号が機能しません。ユーザーがローカル IP アドレスを持つルートの背後にいる場合、同じ IP アドレスが他のユーザーと共有されます。

ベンダーIDまたは組織IDで検証します(これも最適なソリューションではないと思いました)。

私はそれについて知りません。

マシンキーで可能だと思います。リクエストでマシンキーを取得するには?

MACアドレスのことですか?ASP.NET Web サイト ユーザーの MAC を取得する

解決

最初に cookieless="AutoDetect" を設定してみます。うまくいかない場合は、別の解決策を見つけます。

<forms cookieless="AutoDetect" ... />

ユーザーがCookieをサポートしていない場合、基本的にURLにSessionIDを埋め込みました。

2013 年 9 月 14 日更新

問題は、彼がそのトークンを持っているときに、そのトークンを使用して任意のマシンからさらに要求を出すことができることです。単一マシンのトークンを制限したい。それを制限する方法はありますか?

ユーザーは自分の AuthenticationToken をコピーし、他のブラウザーから同じ AuthenticationToken を使用してサイトを閲覧できます。できるのに、なぜ彼はそれをしたいのですか?鍵を持っているのに自分の家に忍び込むようなものです。

デフォルトでは、AuthenticationToken は、同じドメインの同じブラウザーからのみアクセスできます (変更しない限り)。HTTPS を使用している限り、AuthenticationToken を簡単にジャックすることはできません (ユーザーのコンピューターがハッキングされない限り)。IP による AuthenticationToken の制限に時間を費やす価値はありません。

于 2013-09-16T15:52:00.450 に答える