web-dev-qa-db-ja.com

異なるドメイン名で実行されているphpのバージョンを見つけるにはどうすればよいですか?

個別のドメイン名を持つ個別のサーバーで実行されているphpのバージョンを見つけるにはどうすればよいですか? (www.abc.comなど)これは私のサーバーではなく、次のコードでphpファイルを作成するためのftpアクセスではありません。

<?php
    echo PHP_VERSION;
?>
25
LostLord

これは私のために働く:

curl -I http://websitename.com

これは、PHP version:

HTTP/1.1 200 OK
Date: Thu, 13 Feb 2014 03:40:38 GMT
Server: Apache
X-Powered-By: PHP/5.4.19
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Set-Cookie: 7b79f6f1623da03a40d003a755f75b3f=87280696a01afebb062b319cacd3a6a9; path=/
Content-Type: text/html; charset=utf-8

このメッセージを受け取った場合:

HTTP/1.1 301 Moved Permanently

代わりに、Webサイトのwwwバージョンをカールする必要がある場合があります。

curl -I http://www.websitename.com
56
Neil Robertson

私はredbotを使用します。これは、PHPバージョンを確認するのに最適なツールですが、ヘッダー、エンコード、キープアライブなど、その他の多くの有用な情報も試してみてください。

http://redbot.org

大好きです !

私もニールの答えに賛成です:curl -I http://websitename.com

29
neofutur

時々、PHPはX-Powered-By:応答ヘッダーを出力します。 Firebugを使用します。

この設定(ini設定 expose_php で制御)がオフになっている場合(多くの場合)、使用されているPHPバージョンを伝える方法はありません。 PHPバージョンが実行しているのは、外の世界のビジネスではありません。セキュリティの観点からこれをわかりにくくするのは良いことです。

15
Pekka 웃

イースターエッグを使用することで構成される驚くほど効果的な方法があります:

http://www.0php.com/php_easter_Egg.php

それらはバージョンごとに異なります。

8
Jules G.M.

偶然:デフォルトのエラーページには多くの場合、詳細情報が含まれています。

Apache/{バージョン}({OS}){モジュール} PHP/{バージョン} {モジュール}サーバー{ドメイン}

それほど簡単ではありません:サーバー上で実行されるPHPアプリケーションのバージョンと、必要なPHPのバージョンを確認してください。

完全を期すためにのみ言及されている別のアプローチ。読んだ後は忘れてください:既知のエクスプロイトを試すことでPHPバージョンを検出できます!).

5
rik

問題に対するはるかに簡単でプラットフォームに依存しないソリューションをお勧めします-Google Chromeのwappalyzer:

こちらを参照

2
Nyagolova

Firefoxのタンパーデータのようなものを使用し、返されたヘッダーを確認します(公開が有効になっている場合)。

0
Brad Christie

できません。 1つの理由は、すべてのWebサイトがPHPを使用しているわけではないことです。そして別の理由は:PHPが使用されるかもしれない兆候がある場合でも(例えば、.phpファイル名拡張子、いくつかの「PHPSESSID」パラメータ、X-Powered-By「PHP」を含むヘッダーフィールドなど)これらの情報は偽装されて、考えられるようになりますPHPが使用されます。

0
Gumbo

既に述べたように、開発者ツールを介してブラウザの「X-Powered-By」応答ヘッダーをチェックすることにより、他のドメインのPHPバージョンを見つける可能性があります。 php.ini構成では、サーバーにアクセスできない限り取得する方法はありません。