0

有没有其他方法可以从 URL 中检测 CMS?如果是,是否有任何可用的 PHP 或任何其他语言的 API?网站http://whatcms.org/就是我所想的一个例子;它是如何进行检测的?

4

4 回答 4

1

您可以检查生成器的元标记。大多数 CMS 都有他们的名称和版本在那里做广告。

这是你要的标签。

<meta name="generator" content="Joomla! - Open Source Content Management" />

此代码将尝试查找标签以提取content属性。

$doc = new DOMDocument();
$doc->loadHTMLFile('http://joomla.org');
$xpath = new DOMXPath($doc);

$generators = $xpath->query('//html/head/meta[@name="generator"]');

echo $generators->item(0)->getAttribute('content');

此代码回显的Joomla! - Open Source Content Management

于 2013-05-14T06:12:49.447 回答
1

Wappalyzer 和 whatCMS 都不会从 URL 中检测到 CMS,它们会下载代码并检查元数据。如果您为此付出一些努力,您也可以自己使用 curl 检索页面,然后解析元数据,扫描关键字。

于 2013-05-14T06:13:33.763 回答
1

现在有一个由Krisseck编写的Detect-CMS PHP 库

从 README.md 中:

include("Detect-CMS/Detect-CMS.php");
$domain = "http://google.com";
$cms = new DetectCMS($domain);
if($cms->getResult()) {
    echo "Detected CMS: ".$cms->getResult();
} else {
    echo "CMS couldn't be detected";
} 
于 2016-02-15T21:34:45.483 回答
0

如果使用通用的 CMS(例如 OpenCart 、 WordPress 、 Magento 、 Joomla 等),Chrome / Firefox 扩展程序,Wappalyzer会很方便。

于 2013-05-14T06:09:34.840 回答