私は Web アプリケーションを開発しており、Tomcat サーバーでアプリケーションを .war ファイルとしてホストしています。それはTomcatサーバーのwebappsフォルダーにありましたが、ホストされているファイルを保護する必要があります。webappsフォルダーで.warファイルを見つけ、アプリケーションのフォルダーを抽出しました。
前もって感謝します
私は Web アプリケーションを開発しており、Tomcat サーバーでアプリケーションを .war ファイルとしてホストしています。それはTomcatサーバーのwebappsフォルダーにありましたが、ホストされているファイルを保護する必要があります。webappsフォルダーで.warファイルを見つけ、アプリケーションのフォルダーを抽出しました。
前もって感謝します
「ユーザー」がサーバーにアクセスできる場合、.war ファイルを保護するためにできることはほとんどありません。
tomcat を実行するユーザーが webapps ディレクトリへの読み取りアクセス権を持っていることを確認した場合は、他のログイン ユーザーが読み取りアクセス権を持たないように読み取りアクセス許可を削除できますが、確実にアクセスできるように注意深くチェックする必要があります。この権利。
これらのファイルを保護する理由を教えてください。ユーザーがサーバーにログインできる場合、.war ファイルの内容を保護する意味はあまりありません。
Web アプリケーションを作成し、このアプリケーションが Local インスタンスと Central インスタンスのような 2 つのインスタンスで構成されているとします。また、独自の VPS (Virtual Private Server) にあるセントラル インスタンスと、クライアント サーバーのローカル インスタンスがあります。最後に、このローカル war ファイルを保護します。
あなたのアプローチが「サーバー上のユーザーへのアクセスから物理ファイルを保護するか、アクセス権を持つユーザーがWARファイルをリバースエンジニアリングするのを防ぐ」というアプローチである場合、「Daniel Scott」に同意します。他の方法としては、次のような避けられない状況があり ます:分散プログラムを逆コンパイルから保護するための保証された方法. プロジェクトを分離したくない場合は、独自の Web サーバーを使用することを検討することをお勧めします (その方法をマークしました)"
2 番目の方法は、分離されたインスタンスを Web サービスに関連付け、毎回、好きなビジネス プロセスで (いくつかの資格情報を使用して) セントラル インスタンスにリクエストを送信し、さらに保護のためのその他のパラメーターを送信することです。 2 番目でない場合: 要求されたデバイスの Mac アドレスを取得します (ローカル インスタンスから送信: デバイスの実際の MAC を取得するためのコードを記述します)。最後に、Central インスタンスでこの認証情報を制御します。
3 番目の方法は、サーバーに 1 つのインスタンスを作成するだけです。
追加情報 http://www.avajava.com/tutorials/lessons/how-do-i-prevent-users-from-accessing-my-war-files.html