同社はクラウド ソリューションを作成しましたが、一部の顧客はアプリをインフラストラクチャでホストする必要があり、コードの逆コンパイルなどの深刻なセキュリティ上の脅威につながる可能性があります。Web アプリケーションは、Spring、JPA、struts、DWR などの動的フレームワークを使用しているため、難読化が非常に困難です (Proguard を使用してみました)。
難読化が唯一の解決策ですか?それは価値がありますか?どんな意見でも役に立ちます。
同社はクラウド ソリューションを作成しましたが、一部の顧客はアプリをインフラストラクチャでホストする必要があり、コードの逆コンパイルなどの深刻なセキュリティ上の脅威につながる可能性があります。Web アプリケーションは、Spring、JPA、struts、DWR などの動的フレームワークを使用しているため、難読化が非常に困難です (Proguard を使用してみました)。
難読化が唯一の解決策ですか?それは価値がありますか?どんな意見でも役に立ちます。
最も簡単な (そしてかなり標準的な) ことは、ソフトウェアをリバース エンジニアリングしたり、いじったりしてはならないことをライセンス契約の一部にすることです。これは、ビジネス パートナーが契約を維持することを信頼していることを前提としています (これは、そもそも彼らとビジネスを行うための前提条件であると主張できます)。
難読化が唯一の解決策ですか?それは価値がありますか?
顧客を信頼できない場合は、顧客へのコードの展開を拒否できます。
クライアントをそのように扱う必要があるかどうかは、あなた次第です。彼らはあなたをだまそうとするよりも、やるべきことがあると思います。しかし、それについて心配している場合は、純粋な ASP モデル (コードがサーバーから離れない) が唯一の解決策のように思えます。
別の方法として、 「アプリケーションを仮想マシン ファイルにデプロイする際の問題点は何ですか?」で提案されているように、閉じた仮想アプライアンスの形式でサービスをデプロイすることもできます。