2017-11-23 16 views
0

JavaSE + Hibernateプロジェクトをエクスポートしようとすると、結果としてxyz.jarファイルが取得され、これを抽出できます。その抽出されたファイルでは、大量の.classファイルが得られますが、問題は私か誰かがhibernate.config.xmlを開いてデータベース接続の設定を確認することができます。Java Hibernateプロジェクトを適切に展開するための方法

... 
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="connection.url">jdbc:mysql://localhost:3306/mydb</property> 
     <property name="connection.username">username</property> 
     <property name="connection.password">password</property> 
... 

ローカルホストではなく一部のサーバーでdbがホストされている場合、hibernate configを見るだけで誰でも自分のデータにアクセスする可能性があります。これを防ぐためにとにかくありますか?または私はそれを間違っている。とにかく私は展開をより安全にすることができますか? (私はソフトウェア開発ライフサイクルの展開には慣れていません)

+0

他の人にそれを知らせない理由です。自分だけがアクセスできるサーバーで自分で実行するか、またはそのサーバーを使用するユーザーが自分のデータベースを使用してそれを使用するように配布します。インターネット上でデータベースを共有する必要がある場合は、直接アクセスすることはできません。 DBアクセスを処理するバックエンドを用意し、そのバックエンドとソケットを介して通信する必要があります。 – Kayaman

+0

@Kayamanそれの周りに道がなければならない、そう?ちょっと言っていることは、2層アーキテクチャが安全でないということです。 – realpac

+0

これは2層アーキテクチャではありません。これは、リモートデータベースを備えた1層アーキテクチャです。ユーザーがデータベースに直接アクセスできないようにする場合は、データベースに直接アクセスすることはできません。クライアントとサーバーのアーキテクチャが必要です。 – Kayaman

答えて

0

xmlの代わりにJavaコードを使用していました。このようにして、あなたのプロジェクトの.jarファイルを抽出すると、xmlの読み込み可能なコードではなく、構成のバイトコードが表示されます。

関連する問題