-1

Java を使用して、以下のような Web サイトから php ファイルを実行できることは承知しています。

URLConnection conn = new URL("http://localhost/file.php").openConnection();
conn.connect();

ただし、Javaにphpファイルをテキストファイルとして読み取らせることは可能でしょうか?また、その方法は? (おそらく BufferedReader の使用による)

ありがとうございました。

4

1 に答える 1

2

ソースを読むつもりならphp、答えはノーですphp。典型的な Web サーバー構成ではソースを読むことはできません。ほとんどの場合、これを許可するのは非常に安全ではありません。パスワードやその他の定数は、多くの場合、phpソース コードに格納されています。

phpただし、ブラウザが行うように、ドキュメントを実行した結果を読み取るだけの場合は、次のようなものを使用できます。

URL u = new URL("http://www.example.com/my/php/doc.php");
URLConnection c = u.openConnection();
InputStream r = c.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(r));
for(String line; (line = reader.readLine()) != null;) System.out.println(line);

http 経由でリモート ドキュメントのソースを読み取るには、ファイルを解析して実行するのではなく、単純にプレーン テキスト ファイルとして提供するphpように Web サーバーを構成する必要があります。

これはいくつかの方法で実現できます。

  1. アンインストールphp- PHP エンジンなし、コード実行なし。
  2. ファイル拡張子を変更します。実際には、apache はファイル拡張子でファイルを識別するだけなので.phpsource、多くの場合、拡張子を変更するとうまくいきます。
  3. Apache 構成を変更します。グローバルに、または.htaccess単一のディレクトリの Web サーバー構成を変更できます。あなたは次のようなことをしたいでしょphp_flag engine offRemoveHandler .php

上記の最初の方法、場合によっては 2 番目の方法のみがサーバーの潜在的なセキュリティ ホールを開くことはないことに注意してください。したがって、注意して使用してください。

于 2012-10-30T11:10:22.983 に答える