How can I find the version of php that is running on a distinct server with distinct domain name? (like www.abc.com) It is not my server, no ftp access for making a php file with this code:
<?php
echo PHP_VERSION;
?>
This question is related to
php
version
domain-name
By chance: Default error pages often contain detailed information, e.g.
Apache/{Version} ({OS}) {Modules} PHP/{Version} {Modules} Server at {Domain}
Not so easy: Find out which versions of PHP applications run on the server and which version of PHP they require.
Another approach, only mentioned for the sake of completeness; please forget after reading: You could (but you won't!) detect the PHP version by trying known exploits.
Possibly use something like firefox's tamperdata and look at the header returned (if they have publishing enabled).
I use redbot, a great tool to see php version, but also many other useful infos like headers, encoding, keepalive and many more, try it on
I loveit !
I also upvote Neil answer : curl -I http://websitename.com
You can’t. One reason is that not every web site uses PHP. And another reason is: Even if there are some signs that PHP might be used (e.g. .php
file name extension, some “PHPSESSID” parameter, X-Powered-By header field containing “PHP”, etc.) those information might be spoofed to let you think PHP is used.
I suggest you much easier and platform independent solution to the problem - wappalyzer for Google Chrome:
Sometimes, PHP will emit a X-Powered-By:
response header which you can look at e.g. using Firebug.
If this setting (controlled by the ini setting expose_php
) is turned off (it often is), there is no way to tell the PHP version used - and rightly so. What PHP version is running is none of the outside world's business, and it's good to obscure this from a security perspective.
There is a possibility to find the PHP version of other domain by checking "X-Powered-By" response header in the browser through developer tools as other already mentioned it. If it is not exposed through the php.ini configuration there is no way you can get it unless you have access to the server.
This works for me:
curl -I http://websitename.com
Which shows results like this or similar including the 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
Note that if you receive this message:
HTTP/1.1 301 Moved Permanently
You may need to curl the www version of the website instead i.e.:
curl -I http://www.websitename.com
There is a surprisingly effective way that consists of using the easter eggs.
They differ from version to version.
Source: Stackoverflow.com