2016-09-08 5 views
0

Netのソケットを使用するFTPサーバアプリケーションを作成しました。クライアントがユーザ名とパスワードを含むログインメッセージを送信しなかった場合、アプリケーションはTcpListenerによって受け入れられたクライアントを直ちに切断します。しかし、誰かが私のクライアントアプリケーションを逆コンパイルしてサーバのパスワードを見て、クライアントに必要なメッセージを複製して、別のアプリでサーバにログインするのを防ぐにはどうすればいいですか?一般的に私は、誰かが私のFTPサーバーに接続できるクライアントアプリケーションで提供されている.dllからオブジェクトを実装することを避けたいと思っています。他のアプリケーションのTcpListenerへの接続を防止する

+1

パスワードをハードコードしたり、暗号化したりしないでください。 – Kinetic

+0

@Kinetic、どうすればパスワードが必要なサーバーからのログイン許可を要求できますか?パスワードを暗号化すれば、誰かがアルゴリズムを取得するために自分のアプリケーションを逆コンパイルするか、パスワードを解読するためにサーバから鍵を要求するために認証メッセージを偽装するだけで簡単にパスワードを解読できますか?前もって感謝します! –

答えて

2

クライアントライブラリを配布する場合、サービスを完全に保護する方法はありません。 Kineticが述べているように、誰かが簡単にアセンブリを逆コンパイルしたり、プロセスエクスプローラのようなものを発見したりすることができるため、難しいコードを記述するのは間違いです。

通常、プロトコルに準拠したクライアントを正常に処理するには害はほとんどありません。あなたのサービスが濫用の対象になる可能性が高いと思われる場合は、おそらくサービス拒否保護を検討してください。

関連する問題