ので、私はPHPサイトのexec()を使用してJavaアプリケーションを実行することができることを持っていることを計画しています....保存java実行
私の質問があり、 jarファイルをApacheのwwwのフォルダの1つに入れるか、Apacheでアクセスできない外部のフォルダに置くべきですか?
重要なことはありますか?私はこれらの選択のセキュリティの意味に懸念しています....
ので、私はPHPサイトのexec()を使用してJavaアプリケーションを実行することができることを持っていることを計画しています....保存java実行
私の質問があり、 jarファイルをApacheのwwwのフォルダの1つに入れるか、Apacheでアクセスできない外部のフォルダに置くべきですか?
重要なことはありますか?私はこれらの選択のセキュリティの意味に懸念しています....
PHPからexecを使用してJavaを使用する場合、Apacheユーザーの代わりに実行します。だからIMHOこのディレクトリはApacheにアクセス可能です。ただし、(コメントで犬が指すように)Apach DocumentRootにあってはいけませんし、.jarファイルにHTTPでアクセスできないようにしてください。
IMHO優れたアーキテクチャには、Webサービス(restfullまたはsoap)を公開する別のJavaサーバー(軽量JettyまたはTomcat)を含めることができます。あなたのサイトはJavaサーバー上でこのWebサービスを呼び出す必要があります。別の方法は、キューマネージャをそれらの間に置くことです(または単にデータベースにキューを作成する)。より良い解決策がたくさんあります。
かなり痛いですね...ページ上でヒットするたびにJVMを起動します。セキュリティ問題を考慮しなくても、これがシステムにかかる負荷を考慮してください。
Tomcatのような適切なJavaサーバーを使用する方がよいでしょう。
どこに置いても、それはほとんど無関係です。 PHPのexec()関数はファイルシステムレベルで動作し、httpドキュメントのルートやその他のものについてはあまり気にすることができませんでした。権限とパスが正しく設定されている限り、マシン上のどこにでも置くことができます。
ただし、Apaches DocumentRootには含めないでください。また、.jarファイルにHTTPでアクセスできないようにする必要があります。 – dog