1

私の友人と私はプログラムに取り組んでいます。このプログラムは、GETデータを当社のWebページに送信します。ただし、ユーザーがプログラム以外の方法でWebページにアクセスすることは望ましくありません。ユーザーがHWID認証を使用してプログラムを共有することを防ぐことはできますが、パケットスキャナーを使用してWebページのURLを取得することを妨げるものは何もありません。実装するユーザーエージェント認証について考えましたが、ユーザーエージェントは簡単になりすますことができます。

だから私の質問は、ユーザーがプログラムを介してではなく、直接Webページにアクセスするのを防ぐにはどうすればよいですか?

完全に機能する答えがない場合でも、それらを阻止するのに役立つものは何でもいいでしょう。

現在、以下を実装します。

プログラムUser-AgentAuthenticationを使用してWebページにアクセスするためのHWID認証適切なUser-AgentなしでWebページにアクセスするすべての人へのインスタントIPブラックリスト

4

4 に答える 4

4

ユーザーエージェントやブラウザの指紋に依存しないでください。HTTPヘッダーは簡単に偽造/なりすましされます。

盗聴を防ぐために、リクエストにシークレットトークン(パスワード/ログインなど)を追加し、SSL経由で送信することができます。

または、SSLクライアント証明書を使用することをお勧めします。

編集VBプログラムを配布しますか?もしそうなら、bobinceが述べたように、断固としたハッカーがリクエストを偽造するのを防ぐ方法はありません。水準を上げることはできますが、隠すことによるセキュリティになります。クライアント証明書を使用している場合でも、ハッカーはプログラムから証明書を抽出し、変更された要求を送信することができます。

クライアントからのリクエストを受け入れる限り、これらのリクエストは偽造できます。それに対処します。

于 2010-04-18T09:09:06.363 に答える
2

1つのオプションは、リクエストヘッダーに暗号化されたトークンを設定できることです。

トークンは1回のみ使用できます。同じトークンが再度送信された場合、サーバーはそれを拒否します。つまり、使用されたトークンのコピーをサーバー側で維持する必要があります。

于 2010-04-18T09:07:55.870 に答える
0

1つのオプションは、Webブラウザーが送信しないカスタムヘッダーを使用して検証することです。私は、自分のプログラムに対して同様のことを行いました。あなたがしている他の検証の上にそれをしてください。サーバーサイドでは、サーバースクリプトでカスタムヘッダーを確認し、ヘッダーが間違っている場合はリダイレクトするようにします

于 2010-04-18T09:05:34.683 に答える
0
  • 長いキー(512ビット以上)を使用してすべてのWebページを暗号化してみてください。HWIDをソルトとして使用してください

    このように、あなたのプログラムだけがそれをデコードしてウェブページとしてレンダリングすることができます。

    en.wikipedia.org/wiki/Salt_%28cryptography%29

  • C#とVB.netはこちら:

    obviex.com/samples/hash.aspx

于 2010-04-18T10:27:45.047 に答える