首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

ECShop 完整移除店鋪資訊收集 API:隱私保護與效能優化

     編輯:PHP 綜合知識

背景動機

ECShop 官方版本內建多處 API 呼叫,收集店鋪版本、語言、資料庫、訂單/商品/會員統計、模板風格、店鋪 URL、補丁資訊等敏感資料,並上傳至官方伺服器。這不僅洩露商業機密,還可能造成效能拖慢。本文針對 ECShop V2.7.3 UTF8 提供完整移除方案。

一、移除後台首頁 API 呼叫

1. admin/index.php

搜尋 elseif ($_REQUEST['act'] == 'main_api') (約 489-539 行),刪除整個區塊。

功能:收集 ECShop 版本、PHP/MySQL 版本、編碼、訂單/商品/會員數、模板/風格名稱、店鋪 URL、補丁資訊。

2. admin/templates/start.htm

搜尋並刪除:

  • Ajax.call('index.php?is_ajax=1&act=main_api','', start_api, 'GET', 'TEXT','FALSE');
  • 函數 start_api() 與 api_style() 完整定義 (約 234-293 行)

二、移除隱藏框架頁面記錄店鋪 URL

admin/templates/index.htm

搜尋 https://api.ecshop.com/record.php?mod=login&url={$shop_url} (約 25-27 行),刪除整個 <frameset> 區塊。

三、移除商店設定提交時上傳配置資訊

admin/shop_config.php

  1. 搜尋 $spt = '<script type="text/javascript" src="https://api.ecshop.com/record.php? (約 231-243 行),刪除 $spt 變數定義
  2. 搜尋引用 $spt 的輸出位置 (約 245-254 行),僅刪除變數輸出,保留周圍 HTML 結構

收集內容:店鋪名稱、標題、描述、關鍵字、國家、省市、QQ、Email、版本號、編碼。

四、移除後台選單語言/編碼檢測

admin/templates/menu.htm

搜尋 '<script language="JavaScript" src="https://api.ecshop.com/menu_ext.php?charset={$charset}&lang={$help_lang}"></script>' (第 143 行),整行刪除。

五、移除安裝程式內建 API (若已安裝可略過)

1. install/includes/lib_auto_installer.php

找到 get_spt_code() 函數,修改回傳值為空字串:

function get_spt_code() {
    return ''; // 原本回傳包含店鋪 URL、安裝操作、版本、雜湊、編碼、語言的 JS 代碼
}

2. install/includes/lib_installer.php

同理修改 get_spt_code() 回傳空字串。

驗證清單

檢查點預期結果
後台登入首頁 Network 面板無對 api.ecshop.com 的請求
儲存商店設定無外部 JS 載入、無資料上傳
後台左側選單無 menu_ext.js 載入
安裝程式執行無 API 呼叫 (若重新安裝)

額外建議

  • 檢查 api.ecshop.com 域名是否在 /etc/hosts 或防火牆封鎖,雙重保險
  • 定期審計程式碼,防止更新覆蓋修改
  • 考慮自建統計服務替代官方 API,掌握資料主控權
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved