【问题标题】:How to tell if ecommerce website is Woocommerce or Shopify or none?如何判断电子商务网站是 Woocommerce 还是 Shopify 还是没有?
【发布时间】:2020-02-28 18:30:54
【问题描述】:

我正在通过代码寻找一种万无一失的方法来判断电子商务平台 ID 是否在 woocommerce 或 shopify 上运行。

ATM,我想出了下面的代码来检查是否有带有“wp-admin”或“admin”的 URL,但它不是万无一失的。

  $url1 = "https://www." . $_POST['domain'] . "/wp-admin";
     $url2 = "https://www." . $_POST['domain'] . "/admin";

     // Use get_header() function

     $headers1 = @get_headers($url1);
     $headers2 = @get_headers($url2);

     // Use conditio to check existence of URL

     if($headers1 && strpos($headers1[0], '200'))
     {
         $eCommercePlatform = "WordPress/Woocommerce";
     }
     elseif($headers2 && strpos($headers2[0], '200'))
     {
        $eCommercePlatform = "Shopify";
     }
     else
     {
        $eCommercePlatform = "Not Shopify or Woocommerce";
     }

还有其他好的技巧/建议吗?

【问题讨论】:

  • wp-admin 应该始终是某种 Wordpress,但 admin 有点通用登录名/术语,所以不仅仅是 Shopify。

标签: php woocommerce shopify


【解决方案1】:

我会使用类似的东西:

// Mimic the browser
ini_set('user_agent', 'Mozilla/5.0');

$headers = @get_headers($url, 1);

if (isset($headers['X-Shopify-Stage'])) {
    $eCommercePlatform = "Shopify";
} elseif (!empty($headers['X-Powered-By']) && $headers['X-Powered-By'] == 'WP Engine') {
    $eCommercePlatform = "WordPress/Woocommerce";
} else {
    $eCommercePlatform = "Not Shopify or Woocommerce";
}

说明

检查/wp-admin 路径似乎不是检测 WordPress 的最佳方法,就像在我测试的第一个 WP 网站上一样 - 它返回 403 Forbidden。我认为其他人可能出于安全目的也这样做。

我发现所有 Shopify 网站都返回了可以使用的 X-Shopify-Stage 标头(至少目前是这样)。

【讨论】:

  • X-Powered-By 现在为 WooCommerce 网站返回“PHP/x.x.x”。 X-Shopify-Stage 仍然适用于 Shopify (2021)。
猜你喜欢
  • 1970-01-01
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2016-09-16
  • 2014-08-29
  • 2022-08-11
相关资源
最近更新 更多