以编程方式通过URL识别CMS

时间:2013-05-14 06:07:09

标签: php api content-management-system

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

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

Nor Wappalyzer和whatCMS从URL检测CMS,他们下载代码,并检查元数据。如果你付出了一些努力,你也可以自己使用curl来检索页面,然后解析出元数据,扫描关键字。

答案 2 :(得分:1)

Detect-CMS PHP library现在有一个Krisseck

来自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";
} 

答案 3 :(得分:0)

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