ユーザーがWebブラウザーを介してWebページにアクセスできないようにしますか?
-
27-09-2019 - |
質問
私の友人と私はプログラムに取り組んでいます。このプログラムは、Webページにデータを取得することを提出します。ただし、ユーザーがプログラム以外の方法でWebページにアクセスすることは望ましくありません。 HWID認証を使用してユーザーがプログラムを共有できないことを防ぐことができますが、パケットスキャナーを使用してWebページのURLを取得することを妨げるものはありません。実装するユーザーエージェント認証について考えましたが、ユーザーエージェントは簡単にスプーフィングできます。
それで、私の質問は、プログラムを通じてではなく、ユーザーがWebページに直接アクセスできないようにするにはどうすればよいですか?
あなたが完全に機能する答えを持っていなくても、それらを阻止するのに役立つものは何でもいいでしょう。
現在、実装しています。
HWID認証プログラムユーザーエージェント認証を使用して、適切なユーザーエージェントなしでWebページにアクセスしている人にアクセスするWebページにアクセスするIPブラックリストにアクセスする
解決
ユーザーエージェントやブラウザの指紋に依存しないでください。HTTPヘッダーは簡単に偽造/スプーフィングされます。
秘密のトークン(例:パスワード/ログイン)をリクエストに追加して、盗聴を防ぐためにSSLを介して送信できます。
または、SSLクライアント証明書を使用してください。
編集 VBプログラムを配布しますか?もしそうなら、Bobinceが述べたように、決定されたハッカーがリクエストを偽造するのを防ぐことはできません。あなたはバーを上げることができますが、それはそうなるでしょう あいまいさによるセキュリティ. 。クライアントの証明書を使用しても、ハッカーはプログラムから証明書を抽出し、変更されたリクエストを送信することができます。
クライアントからのリクエストを受け入れる限り、これらのリクエストは偽造できます。それに対処します。
他のヒント
オプションの1つは、リクエストヘッダーに暗号化されたトークンを設定できることです。
トークンは、1回だけ使用できます。同じトークンが再度送信された場合、サーバーはそれを拒否します。つまり、サーバー側の使用されたトークンのコピーを維持する必要があります。
1つのオプションは、Webブラウザーが送信しないカスタムヘッダーを使用および検証することです。自分のプログラムについても同様のことをしました。あなたがしている他の検証のその上のその上。サーバーサイドでは、サーバースクリプトにカスタムヘッダーを確認し、ヘッダーが間違っている場合にリダイレクトするだけです
A Long Key(512bits以上)を使用してすべてのWebページを暗号化してみてください。 hwid 塩として。
このようにして、あなたのみのプログラムのみがそれをデコードし、それをWebページとしてレンダリングできます。
en.wikipedia.org/wiki/salt_%28cryptography%29
C#&vb.netはこちら:
obviex.com/samples/hash.aspx