免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

卡盟系統(tǒng)源碼搭建與API對(duì)接實(shí)戰(zhàn):主站、分站、商戶自動(dòng)發(fā)貨鏈路解析

卡盟系統(tǒng)源碼搭建與API對(duì)接實(shí)戰(zhàn):主站、分站、商戶自動(dòng)發(fā)貨鏈路解析 簡(jiǎn)介這是面向卡盟與自動(dòng)發(fā)卡平臺(tái)運(yùn)營(yíng)者的運(yùn)營(yíng)級(jí)源碼包按主站、SUP管理端、商戶端三個(gè)模塊分區(qū)對(duì)接寶塔API后可秒搭建主站并自動(dòng)開(kāi)通分站顯著減少人工操作適合有一定服務(wù)器基礎(chǔ)、希望快速落地卡盟業(yè)務(wù)的站長(zhǎng)或二次開(kāi)發(fā)者。包內(nèi)共1801個(gè)文件壓縮包約35MB以PHP后端邏輯、JS與CSS前端交互、PNG/GIF/JPG圖片素材、SQL數(shù)據(jù)庫(kù)備份及HTML頁(yè)面為主站點(diǎn)目錄按模塊拆分便于部署、替換和二次開(kāi)發(fā)。當(dāng)前已有128人次學(xué)習(xí)下載。除完整源碼外還包含寶塔環(huán)境下的安裝、偽靜態(tài)和數(shù)據(jù)庫(kù)配置說(shuō)明同時(shí)整理了作者對(duì)接寶塔接口與排查異常時(shí)的經(jīng)驗(yàn)?zāi)軒椭褂谜弑荛_(kāi)常見(jiàn)部署坑點(diǎn)。由于支付通道尚未接入拿到后可根據(jù)業(yè)務(wù)自行對(duì)接支付或?qū)で笞髡邊f(xié)助整體適合作為卡盟平臺(tái)快速起盤或源碼架構(gòu)學(xué)習(xí)參考。1. 卡盟系統(tǒng)源碼的底牌三層身份、兩套 API、一條自動(dòng)發(fā)貨鏈路第一次拿到號(hào)稱「運(yùn)營(yíng)級(jí)」的卡盟系統(tǒng)源碼時(shí)多數(shù)人會(huì)被文件列表嚇住主站一套、SUP 分站一套、商戶端一套外加幾十個(gè)接口文件。這套東西真正的核心并不在界面而在「主站—分站—商戶」三者之間的 API 對(duì)接鏈路上??讼到y(tǒng)本質(zhì)上是一個(gè)虛擬商品自動(dòng)發(fā)貨平臺(tái)商戶通過(guò)接口把卡密批量喂給主站用戶下單后系統(tǒng)自動(dòng)扣庫(kù)存、自動(dòng)把卡密返回給買家全程沒(méi)有人工參與。讀懂了這條鏈路你才能判斷這套源碼值不值、怎么搭、坑在哪。這篇筆記寫給正在評(píng)估或接手這類系統(tǒng)的開(kāi)發(fā)者按「理關(guān)系 → 秒搭建 → 寫對(duì)接 → 躲坑」的順序把運(yùn)營(yíng)前必須打通的技術(shù)環(huán)節(jié)全部過(guò)一遍。2. 先把角色關(guān)系理清楚SUP 分站、商戶和主站各管什么2.1 三層身份各歸其位主站管貨與賬分站管人商戶管貨源卡盟系統(tǒng)最常見(jiàn)的形態(tài)是三套程序配合使用這也是標(biāo)題里把「SUP 商戶」并列的原因。主站是平臺(tái)本身持有全部商品庫(kù)和卡密庫(kù)存用戶在主站下單付款后系統(tǒng)從庫(kù)存里取卡密、加密存庫(kù)、按需解密返回。SUP 分站是一套獨(dú)立的分銷站點(diǎn)程序它可以不存卡密而是通過(guò)主站開(kāi)放的 API 拉取商品列表、同步價(jià)格、提交訂單用戶付款后由主站完成發(fā)貨分站只負(fù)責(zé)流量和訂單展示。商戶則是供貨角色手里有卡密批發(fā)資源通過(guò)主站開(kāi)放的商戶接口批量上傳卡密、查詢剩余庫(kù)存、下架失效卡密。這三個(gè)角色很多人一開(kāi)始繞暈其實(shí)一句話就能理順主站是數(shù)據(jù)中心和發(fā)貨中心分站是面向買家的前臺(tái)代理商戶是上游貨源。運(yùn)營(yíng)級(jí)源碼和普通單機(jī)發(fā)卡網(wǎng)最大的區(qū)別就是這三層之間的數(shù)據(jù)不是靠人工搬運(yùn)而是靠 API 實(shí)時(shí)同步。分站能看到什么商品、什么價(jià)格由主站接口返回用戶是否已支付由支付回調(diào)驅(qū)動(dòng)主站發(fā)貨分站再通過(guò)訂單查詢接口拿到結(jié)果。理解了這個(gè)模型后面所有配置和代碼都是有據(jù)可循的。2.2 為什么 API 對(duì)接是這套源碼的命脈程序接口發(fā)貨 vs 手動(dòng)發(fā)卡對(duì)比一下傳統(tǒng)手動(dòng)發(fā)卡和 API 自動(dòng)發(fā)貨的區(qū)別就能明白「對(duì)接」這兩個(gè)字為什么被反復(fù)強(qiáng)調(diào)。手動(dòng)發(fā)卡的流程是后臺(tái)看到訂單 → 復(fù)制卡密 → 私聊或者系統(tǒng)消息發(fā)給買家 → 手工標(biāo)記已發(fā)。單量一上來(lái)這一步根本扛不住漏發(fā)、重發(fā)、客服扯皮全是成本。API 自動(dòng)發(fā)貨的流程則是用戶付款 → 支付回調(diào)觸發(fā)主站腳本 → 事務(wù)內(nèi)扣庫(kù)存并取出卡密 → 解密 → 返回給頁(yè)面或分站 → 分站展示給買家全程分鐘級(jí)指令完成不需要人盯。對(duì)比維度手動(dòng)發(fā)卡API 自動(dòng)發(fā)貨發(fā)貨時(shí)效分鐘到小時(shí)級(jí)支付回調(diào)后秒級(jí)庫(kù)存同步人工核對(duì)易超賣數(shù)據(jù)庫(kù)條件更新防超賣分站支持無(wú)法多站共用庫(kù)存一套庫(kù)存多分站同步人工成本每單都要人只在售后和補(bǔ)貨時(shí)介入這也是標(biāo)題里「沒(méi)有人工參與」和「卡密加密存儲(chǔ)」兩個(gè)詞對(duì)應(yīng)的技術(shù)實(shí)質(zhì)。做到?jīng)]有人工參與靠的是接口鏈路健全商品同步接口、下單接口、發(fā)貨接口、訂單狀態(tài)查詢接口缺一不可。做到卡密加密存儲(chǔ)則是因?yàn)榭茉穆涞綌?shù)據(jù)庫(kù)后一旦數(shù)據(jù)庫(kù)被拖走就全盤泄露運(yùn)營(yíng)級(jí)方案至少要保證卡密字段以密文形式存在只在發(fā)貨那一刻解密返回。2.3 源碼常見(jiàn)形態(tài)與選型PHP 老程序?yàn)橹飨瓤醇用茉僬劧_(kāi)市面上能買到的卡盟系統(tǒng)源碼絕大多數(shù)是 PHP MySQL 的老程序ThinkPHP 3.x/5.x 或原生 PHP 寫的都非常常見(jiàn)。為什么都老因?yàn)檫@類系統(tǒng)的核心邏輯簡(jiǎn)單、穩(wěn)定沒(méi)必要追新框架而且跑在虛擬主機(jī)或低配 VPS 上老框架兼容性最好。選型時(shí)先看幾件事第一偽靜態(tài)規(guī)則是否自帶Nginx 下很多程序默認(rèn)不支持 pathinfo不配好偽靜態(tài)后臺(tái)直接白屏第二數(shù)據(jù)庫(kù)字符集是否為 utf8mb4否則用戶提交一些特殊符號(hào)會(huì)報(bào)錯(cuò)第三后臺(tái)是否支持模板自定義這決定了你后續(xù)改首頁(yè)的成本第四接口簽名算法到底是什么有的源碼寫死 MD5 拼接有的支持自定義鹽值這會(huì)直接影響分站對(duì)接的難易。拿到源碼后的第一個(gè)動(dòng)作不是上傳服務(wù)器而是先解壓看結(jié)構(gòu)。找到 install 或安裝說(shuō)明目錄確認(rèn)有沒(méi)有安裝向?qū)z查有沒(méi)有 ionCube 或 Zend Guard 加密過(guò)的文件這類文件在 PHP 8 下大概率跑不起來(lái)需要裝匹配版本的 loader。加密文件不影響常規(guī)搭建但會(huì)嚴(yán)重影響二開(kāi)——你改不了加密段落的邏輯只能繞。所以評(píng)估源碼時(shí)我的習(xí)慣是優(yōu)先看application或libs目錄里有沒(méi)有大段可讀的 PHP 源碼有這個(gè)基礎(chǔ)后續(xù)接 API、改回調(diào)才有操作空間。3. 秒搭建主站是第一步環(huán)境檢查、數(shù)據(jù)庫(kù)導(dǎo)入與后臺(tái)登錄的完整路徑3.1 環(huán)境準(zhǔn)備PHP 版本、運(yùn)行目錄與擴(kuò)展的前置檢查「秒搭建」的前提是環(huán)境一次到位。這類老 PHP 程序我一般建議跑在 PHP 7.4而不是 5.6 或 8.x。PHP 5.6 對(duì)老代碼兼容性最好但已停止維護(hù)安全風(fēng)險(xiǎn)高PHP 8 則砍掉了很多老寫法比如preg_replace的/e修飾符、each()函數(shù)拿 PHP 8 去跑老源碼大概率裝完就是白屏。PHP 7.4 是折中老函數(shù)都還在性能也夠用。動(dòng)手之前先按下面這段命令檢查環(huán)境缺什么補(bǔ)什么# 檢查 PHP 版本 php -v # 列出已加載的擴(kuò)展重點(diǎn)看 curl、mbstring、pdo_mysql、openssl php -m | grep -E curl|mbstring|pdo_mysql|openssl # 檢查 ionCube loader 是否已安裝源碼有加密文件時(shí)必須 php -v | grep -i ioncube # 如果用的是寶塔面板手動(dòng)確認(rèn) PHP 版本和擴(kuò)展 # /www/server/php/74/bin/php -m命令邏輯很簡(jiǎn)單先確認(rèn)版本是 7.4再確認(rèn)四個(gè)擴(kuò)展都在缺哪個(gè)就去面板或包管理器安裝最后看 ionCube源碼里如果存在_defaults.inc.php這類看不出內(nèi)容的文件基本就是加密了沒(méi)有 loader 會(huì)直接白屏或提示「eval()’d code」。參數(shù)上注意一點(diǎn)PHP 7.4 的 ionCube loader 版本至少要支持 v11 加密loader 太老會(huì)直接拒絕執(zhí)行。3.2 導(dǎo)入數(shù)據(jù)庫(kù)與修改配置安裝向?qū)Р皇侨f(wàn)能的環(huán)境就緒后把源碼傳到站點(diǎn)根目錄。很多源碼帶/install安裝向?qū)гL問(wèn)域名后按界面填數(shù)據(jù)庫(kù)信息就行。但也有相當(dāng)一部分源碼是「綠色版」沒(méi)有安裝向?qū)Щ蛘呦驅(qū)Ь褪莻€(gè)擺設(shè)真正決定死活的是手動(dòng)導(dǎo)入 SQL 和改配置文件。下面這段是手動(dòng)方式的標(biāo)準(zhǔn)操作# 解壓源碼到站點(diǎn)目錄 unzip kaming_source.zip -d /www/wwwroot/kaming/ # 給程序運(yùn)行目錄寫權(quán)限緩存、日志、上傳目錄 chmod -R 755 /www/wwwroot/kaming/ chmod -R 777 /www/wwwroot/kaming/runtime/ chmod -R 777 /www/wwwroot/kaming/upload/ # 創(chuàng)建數(shù)據(jù)庫(kù)并導(dǎo)入 SQL mysql -uroot -p --default-character-setutf8mb4 -e CREATE DATABASE IF NOT EXISTS kaming DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql -uroot -p kaming --default-character-setutf8mb4 /www/wwwroot/kaming/install/kaming.sql逐條解釋一下。第一條是標(biāo)準(zhǔn)解壓注意 zip 包內(nèi)部的目錄層級(jí)有時(shí)候解壓出來(lái)是嵌套目錄需要把文件挪到站點(diǎn)根目錄而不是帶一層子目錄直接訪問(wèn)。第二條是權(quán)限r(nóng)untime和upload目錄必須可寫否則報(bào)緩存寫入失敗、上傳失敗。第三條用--default-character-setutf8mb4是為了避免導(dǎo)入時(shí)中文亂碼。導(dǎo)入完成后再去改配置文件常見(jiàn)位置是根目錄config.php、data/database.php、application/database.php三個(gè)候選找那個(gè)定義了DB_HOST、DB_NAME、DB_PWD的文件改成實(shí)際的數(shù)據(jù)庫(kù)名和密碼。改完配置后務(wù)必清掉緩存目錄再訪問(wèn)否則程序讀的還是舊緩存配置。這一步也是「秒搭建」翻車的高發(fā)區(qū)數(shù)據(jù)庫(kù)導(dǎo)入成功了配置也改了后臺(tái)還是白屏最后發(fā)現(xiàn)是runtime緩存沒(méi)清。3.3 偽靜態(tài)與后臺(tái)設(shè)置登錄前先把兩處藏起來(lái)的配置找到ThinkPHP 架構(gòu)的卡盟系統(tǒng)站點(diǎn)運(yùn)行目錄通常不是根目錄而是/public。如果你配置站點(diǎn)時(shí)把根目錄指到了源碼根目錄前臺(tái)可能只有一個(gè)難看的首頁(yè)或直接 404。正確做法是在站點(diǎn)配置里將運(yùn)行目錄指定到public然后配偽靜態(tài)。Nginx 下常見(jiàn)規(guī)則如下server { listen 80; server_name kaming.example.com; root /www/wwwroot/kaming/public; index index.php index.html; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s$1 last; } } location ~ \.php$ { fastcgi_pass unix:/tmp/php-cgi-74.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; } }這段配置里rewrite負(fù)責(zé)把不存在的文件路徑轉(zhuǎn)給index.php處理fastcgi_param PATH_INFO是 ThinkPHP 路由解析的關(guān)鍵。漏掉PATH_INFO的典型癥狀是首頁(yè)能開(kāi)但商品詳情頁(yè)和后臺(tái)都是白屏或 404。偽靜態(tài)配好后找后臺(tái)入口。常見(jiàn)的有/admin、/admin.php、/system、/guanli如果在源碼里翻不到就看route.php或README里的說(shuō)明。登錄后臺(tái)后第一件事不是看數(shù)據(jù)而是三件事改管理員密碼、關(guān)閉安裝目錄、配置支付回調(diào)域名。支付回調(diào)域名必須是外網(wǎng)能訪問(wèn)的域名不能用 IP微信和支付寶的回調(diào)會(huì)直接拒絕 IP 形式的回調(diào)地址。這一步做完主站才算「能賣貨」剩下的核心工作全部集中在 API 對(duì)接上。4. 對(duì)接 API 才是運(yùn)營(yíng)級(jí)的分水嶺簽名、鑒權(quán)與自動(dòng)發(fā)貨接口的實(shí)現(xiàn)細(xì)節(jié)4.1 對(duì)接前先捋清四件事接口域名、密鑰、商品映射、卡密返回方式主站跑起來(lái)只算完成了一半真正讓它和 SUP 分站、商戶系統(tǒng)聯(lián)動(dòng)的是 API。對(duì)接前先把四件事確認(rèn)清楚能少走一半彎路。第一件事是接口域名。主站和分站之間的所有請(qǐng)求都走 HTTP 接口接口域名必須是 HTTPS否則瀏覽器混合內(nèi)容和回調(diào)報(bào)文會(huì)被安全策略擋掉。第二件事是密鑰。主站后臺(tái)一般會(huì)給每個(gè)分站或商戶分配一組 AppKey 和 AppSecret分站配置里填的就是這兩個(gè)值簽名算法基于 AppSecret 生成。第三件事是商品映射。分站從主站拉取商品后每個(gè)商品對(duì)應(yīng)一個(gè)主站商品 ID分站下單時(shí)必須把這個(gè) ID 原樣傳回否則主站不知道你這個(gè)訂單買的是什么。第四件事是卡密返回方式。運(yùn)營(yíng)級(jí)做法是主站只在發(fā)貨接口里返回解密后的卡密分站拿到后自己加密存儲(chǔ)、展示時(shí)再解密而不是讓卡密在主站和分站之間明文傳輸。這四件事在接不同源碼時(shí)名字可能不同有的叫「商品同步」有的叫「貨源對(duì)接」但本質(zhì)一樣。我一般會(huì)在動(dòng)手寫代碼之前先拿 curl 手工請(qǐng)求一次主站的商品列表接口確認(rèn)返回結(jié)構(gòu)和簽名要求再?zèng)Q定怎么寫對(duì)接層。4.2 簽名與鑒權(quán)函數(shù)MD5 排序簽名 時(shí)間戳防重放的 PHP 實(shí)現(xiàn)這類系統(tǒng)主站與分站之間最通用的鑒權(quán)方式是「簽名校驗(yàn)」雙方約定同一個(gè) AppSecret請(qǐng)求方把所有業(yè)務(wù)參數(shù)按字典序排序、拼接成字符串后做 MD5服務(wù)端以同樣方式計(jì)算并比對(duì)。為了防止重放攻擊簽名里通常要帶走timestamp服務(wù)端只接受時(shí)間差在一定范圍內(nèi)的請(qǐng)求。下面這套簽名函數(shù)是大多數(shù)卡盟源碼的通用寫法可以直接落地?php /** * 生成簽名 * param array $params 業(yè)務(wù)參數(shù)不含 sign * param string $appSecret 雙方約定的密鑰 * return string */ function makeSign(array $params, string $appSecret): string { // timestamp 字段必須參與簽名 ksort($params); $str urldecode(http_build_query($params)) . $appSecret; return md5($str); } /** * 服務(wù)端校驗(yàn)簽名 * param array $params 收到的全部參數(shù)含 sign * param string $appSecret 后臺(tái)分配給該分站的密鑰 * return bool */ function verifySign(array $params, string $appSecret): bool { if (empty($params[sign]) || empty($params[timestamp])) { return false; } // 時(shí)間戳超過(guò) 600 秒直接拒絕防止重放 if (abs(time() - intval($params[timestamp])) 600) { return false; } $sign $params[sign]; unset($params[sign]); return makeSign($params, $appSecret) $sign; }邏輯說(shuō)明ksort先把參數(shù)按鍵名升序排列http_build_query生成a1b2這樣的查詢串再拼接AppSecret做 MD5。這里有個(gè)隱藏坑——http_build_query默認(rèn)會(huì)把特殊字符做 URL 編碼而有的源碼里對(duì)接方用 Java 或 Python 生成的簽名串不做編碼兩邊算出來(lái)的 MD5 完全不一樣。所以代碼里我特意加了一層urldecode把編碼后的串還原成原始格式再拼接這是解決跨語(yǔ)言簽名不一致最常見(jiàn)的辦法。參數(shù)說(shuō)明timestamp必須是服務(wù)端生成簽名時(shí)的時(shí)間單位秒不能每個(gè)接口動(dòng)態(tài)生成校驗(yàn)端把差值放寬到 600 秒是為了容忍分站服務(wù)器和主站服務(wù)器的時(shí)鐘誤差生產(chǎn)上配 300 秒也可以但別設(shè)成 0。另一個(gè)容易忽略的點(diǎn)是加簽名的字段到底包不包括sign本身這條函數(shù)里先unset($params[sign])再重新計(jì)算確保簽名只覆蓋業(yè)務(wù)參數(shù)。4.3 發(fā)貨接口與庫(kù)存扣減事務(wù)與解密返回的邊界簽名校驗(yàn)通過(guò)后核心邏輯是發(fā)貨接口。主站收到分站的訂單請(qǐng)求后要完成驗(yàn)簽 → 查商品 → 事務(wù)內(nèi)扣庫(kù)存 → 取出卡密 → 解密 → 返回結(jié)果。這里最怕的是并發(fā)場(chǎng)景下超賣所以庫(kù)存扣減不能用「先 SELECT 再 UPDATE」的老思路必須寫成條件更新。下面這段是一個(gè)可運(yùn)行的實(shí)現(xiàn)骨架?php // 假設(shè)已通過(guò) verifySign 校驗(yàn)$params 含 product_id、buy_num、order_sn try { $pdo-beginTransaction(); $productId intval($params[product_id]); $buyNum intval($params[buy_num]); // 條件更新只有剩余庫(kù)存足夠時(shí)才扣減防止超賣 $sql UPDATE products SET stock stock - :num WHERE id :id AND stock :num; $stmt $pdo-prepare($sql); $stmt-execute([:num $buyNum, :id $productId]); if ($stmt-rowCount() 0) { throw new Exception(庫(kù)存不足); } // 鎖定并取卡密后續(xù)操作期間不允許別的進(jìn)程拿到同一條 $sql SELECT id, card_secret FROM cards WHERE product_id :pid AND status 0 LIMIT :num FOR UPDATE; $stmt $pdo-prepare($sql); $stmt-execute([:pid $productId, :num $buyNum]); $rows $stmt-fetchAll(); $cards []; foreach ($rows as $row) { // card_secret 存的是 AES 密文解密后返回 $cards[] aesDecrypt($row[card_secret], SECRET_KEY); // 標(biāo)記為已售出 $pdo-prepare(UPDATE cards SET status 1, order_sn ? WHERE id ?) -execute([$params[order_sn], $row[id]]); } $pdo-commit(); echo json_encode([code 200, cards $cards]); } catch (Throwable $e) { $pdo-rollBack(); echo json_encode([code 500, msg $e-getMessage()]); }關(guān)鍵點(diǎn)拆開(kāi)說(shuō)。第一UPDATE ... WHERE stock :num是防超賣的核心數(shù)據(jù)庫(kù)行鎖會(huì)保證兩個(gè)并發(fā)請(qǐng)求只有一個(gè)更新成功rowCount()返回 0 就是庫(kù)存不足。第二SELECT ... FOR UPDATE在事務(wù)內(nèi)鎖定卡密行避免兩個(gè)訂單同時(shí)取到同一條卡密。第三SECRET_KEY只存在主站服務(wù)端不下發(fā)到分站卡密在庫(kù)里以 AES 密文存儲(chǔ)只有發(fā)貨這一刻解密并直接返回給分站后續(xù)分站自己存儲(chǔ)時(shí)走的是分站自己的加密邏輯。參數(shù)上注意LIMIT :num在 MySQL 預(yù)處理里不能直接用占位符有的 PDO 版本會(huì)報(bào)語(yǔ)法錯(cuò)誤穩(wěn)妥做法是先查status 0的 ID 列表再按數(shù)量array_slice后逐條更新。另外事務(wù)里不要做外部 API 調(diào)用比如把發(fā)貨結(jié)果同步給第三方這種動(dòng)作一定要放到事務(wù)提交之后否則事務(wù)鎖會(huì)拖著遠(yuǎn)程請(qǐng)求把數(shù)據(jù)庫(kù)連接池打爆。這套發(fā)貨接口寫對(duì)了「沒(méi)有人工參與」才真正成立分站下單、主站扣庫(kù)存、返回卡密三個(gè)動(dòng)作一條鏈路全自動(dòng)完成。5. 避坑指南從 401 到庫(kù)存超賣運(yùn)營(yíng)期最常見(jiàn)的 5 個(gè)翻車點(diǎn)5.1 接口返回 401 / invalid signature兩邊密鑰一致問(wèn)題往往在時(shí)間戳和編碼現(xiàn)象分站后臺(tái)配置好主站接口后測(cè)試同步商品或下單時(shí)一直報(bào) 401 或invalid signature兩邊核對(duì) AppSecret 完全一致。原因絕大多數(shù)情況下不是密鑰錯(cuò)了而是簽名串不一致。最常見(jiàn)的有三種一是分站服務(wù)器和主站服務(wù)器時(shí)間偏差太大簽名里的timestamp差出十幾分鐘被服務(wù)端判定過(guò)期二是跨語(yǔ)言對(duì)接時(shí) URL 編碼規(guī)則不同Java 的URLEncoder會(huì)把空格編成PHP 的http_build_query編成%20MD5 結(jié)果完全不同三是服務(wù)端驗(yàn)簽函數(shù)要求簽名字段必須嚴(yán)格小寫而分站生成的是大寫。解決先在分站側(cè)打印出完整的請(qǐng)求參數(shù)和簽名串再去主站接口日志里看服務(wù)端收到的原始參數(shù)和它自己計(jì)算的簽名逐項(xiàng)對(duì)比。時(shí)間差問(wèn)題把服務(wù)端校驗(yàn)窗口放寬到 600 秒編碼問(wèn)題統(tǒng)一在拼接前做一次urldecode兩邊的中間態(tài)保持一致大小寫問(wèn)題在驗(yàn)簽函數(shù)末尾加strtolower($sign) strtolower($expected)兜底。5.2 卡密加密存儲(chǔ)后取不出來(lái)AES 解密失敗先查 base64 與編碼現(xiàn)象商戶通過(guò)接口批量上傳的卡密用戶下單后看到發(fā)貨內(nèi)容是空的或一長(zhǎng)串亂碼后臺(tái)手動(dòng)查看卡密也是亂碼。這個(gè)坑在折騰「卡密加密存儲(chǔ)」方案時(shí)幾乎必踩。原因加密和解密用的編碼不統(tǒng)一。一種情況是加密時(shí)用base64_encode(openssl_encrypt(...))入庫(kù)解密時(shí)卻直接用原始密文解密另一種是密鑰文件里有換行符SECRET_KEY變量取到的是帶\n的字符串和加密時(shí)用不一致導(dǎo)致解密失敗。更隱蔽的是有的源碼在寫入數(shù)據(jù)庫(kù)時(shí)把密文做了addslashes轉(zhuǎn)義取出來(lái)時(shí)沒(méi)有用stripslashes還原。解決統(tǒng)一約定入庫(kù)前base64_encode密文出庫(kù)后base64_decode再解密密鑰從配置文件讀取后執(zhí)行trim()去掉首尾空白。檢查流程上寫個(gè)小腳本把庫(kù)里某一條密文取出來(lái)按「base64 解碼 → 解密 → 轉(zhuǎn) utf8」順序跑一遍任何一步報(bào)錯(cuò)就順著打日志確認(rèn)是哪一層壞了。加密這件事解決好了數(shù)據(jù)庫(kù)被拖走也只是拿到一堆密文。5.3 秒搭建后后臺(tái)白屏偽靜態(tài)未啟用或 PHP 版本不匹配現(xiàn)象按照安裝向?qū)ё咄昵芭_(tái)首頁(yè)能開(kāi)但后臺(tái)地址訪問(wèn)后白屏或一直 404。很多人懷疑源碼不完整其實(shí)是環(huán)境問(wèn)題。原因第一種是運(yùn)行目錄指錯(cuò)了ThinkPHP 老程序必須把站點(diǎn)運(yùn)行目錄指到/public指到根目錄就會(huì)出現(xiàn)首頁(yè)正常、內(nèi)部路由全掛第二種是 Nginx 沒(méi)配PATH_INFO導(dǎo)致路由參數(shù)全部丟失第三種是 PHP 版本太新老代碼用了each()、split()這類 PHP 8 已移除的函數(shù)直接fatal error白屏。解決按前面 3.3 的 Nginx 規(guī)則把偽靜態(tài)和PATH_INFO配好把 PHP 版本切到 7.4并開(kāi)啟 PHP 錯(cuò)誤顯示php.ini里設(shè)display_errors On和error_reporting(E_ALL)刷新后臺(tái)看具體報(bào)錯(cuò)。看日志是白屏排查的第一動(dòng)作不要憑空猜。5.4 庫(kù)存超賣先 SELECT 再 UPDATE 在大促必翻車現(xiàn)象100 張卡密賣了 120 單用戶付款后取不到卡密售后炸鍋。原因發(fā)貨腳本寫成了「先查詢剩余庫(kù)存再在 PHP 里判斷 if (stock 0)然后 UPDATE 減一」。這種寫法的窗口期很大兩個(gè)并發(fā)請(qǐng)求同時(shí)讀到 stock5都認(rèn)為庫(kù)存夠各自減一后數(shù)據(jù)庫(kù)里變成 3實(shí)際上已經(jīng)賣了 6 單其中 1 次沒(méi)有卡密可發(fā)。解決把扣庫(kù)存和檢查庫(kù)存合成一條 SQLUPDATE products SET stock stock - 1 WHERE id ? AND stock 0用rowCount()判斷是否真實(shí)扣減成功。所有涉及庫(kù)存變動(dòng)的邏輯必須放在事務(wù)里取卡密用SELECT ... FOR UPDATE鎖行。壓測(cè)驗(yàn)證方式見(jiàn)第 6 章這個(gè)測(cè)試不做完運(yùn)營(yíng)期第一個(gè)活動(dòng)日就會(huì)給你顏色看。5.5 分站下單成功但主站沒(méi)發(fā)貨回調(diào)域名限制與安全配置誤傷現(xiàn)象SUP 分站上用戶已完成支付分站訂單狀態(tài)也變成了已支付但主站后臺(tái)看不到對(duì)應(yīng)訂單或者訂單狀態(tài)一直停留在待發(fā)貨。原因兩個(gè)方向的誤傷。一是主站端在 API 層做了域名校驗(yàn)或 IP 白名單只允許指定來(lái)源的請(qǐng)求分站服務(wù)器的出口 IP 不在白名單里請(qǐng)求被靜默攔截二是分站服務(wù)器用 curl 請(qǐng)求主站時(shí)使用了 HTTPS但主站證書(shū)鏈不完整或用了自簽證書(shū)curl 的 SSL 校驗(yàn)失敗后請(qǐng)求根本沒(méi)到達(dá)主站。解決在主站后臺(tái)的 API 配置里把分站域名加入白名單同時(shí)把分站服務(wù)器的公網(wǎng)出口 IP 也加進(jìn)去分站側(cè)調(diào)用主站接口的代碼里生產(chǎn)環(huán)境用完整證書(shū)鏈內(nèi)網(wǎng)調(diào)試可以臨時(shí)把verify_peer和verify_host關(guān)掉但上線前必須恢復(fù)。驗(yàn)證方法很簡(jiǎn)單在主站訪問(wèn)日志里 grep 分站的請(qǐng)求記錄如果完全沒(méi)有記錄就是被擋在前面有記錄但報(bào) SSL 錯(cuò)誤則走證書(shū)修復(fù)。6. 把「秒搭建」真正用起來(lái)一套可復(fù)用的備份遷移與對(duì)接驗(yàn)證流程「秒搭建」如果只發(fā)生在第一次裝上意義不大真正常態(tài)化的價(jià)值是故障時(shí)能快速換機(jī)、遷移、恢復(fù)。所以我會(huì)在投入運(yùn)營(yíng)前做一套自己的標(biāo)準(zhǔn)流程每次換服務(wù)器都照著跑二十分鐘收工。備份方面我的習(xí)慣是同時(shí)備份三樣?xùn)|西數(shù)據(jù)庫(kù)、源碼、配置文件里的密鑰。數(shù)據(jù)庫(kù)用mysqldump --single-transaction導(dǎo)出源碼直接tar打包排除runtime緩存目錄密鑰單獨(dú)放一份在本地密碼管理器里不放服務(wù)器。遷移到新服務(wù)器時(shí)的順序是導(dǎo)入 SQL → 上傳源碼 → 改數(shù)據(jù)庫(kù)配置 → 清runtime緩存 → 配偽靜態(tài) → 驗(yàn)證后臺(tái)登錄 → 跑一次真實(shí)下單流程。很多人在換服務(wù)器后卡在「后臺(tái)能開(kāi)分站卻連不上」就是因?yàn)槁┝嗽诤笈_(tái)重新生成 API 密鑰這一項(xiàng)。老密鑰如果已經(jīng)泄露遷移后務(wù)必統(tǒng)一重置否則舊地址還能繼續(xù)用等于白搬。對(duì)接驗(yàn)證流程必不可少上線前用下面兩條命令跑通# ① 模擬分站請(qǐng)求商品列表接口注意替換域名、密鑰、時(shí)間戳 curl -s https://kaming.example.com/api.php?methodproduct_listapp_keyYOUR_KEYtimestamp$(date %s) -H sign: YOUR_SIGN # ② 用 AB 壓測(cè)下單接口驗(yàn)證庫(kù)存不超賣 ab -n 100 -c 10 -p order_data.json -T application/json https://kaming.example.com/api.php?methodorder_create第一條命令驗(yàn)證簽名鏈路是否通第二條命令驗(yàn)證并發(fā)下庫(kù)存扣減是否準(zhǔn)確。壓測(cè)后去數(shù)據(jù)庫(kù)查stock 已售數(shù)量應(yīng)當(dāng)?shù)扔诔跏紟?kù)存多出來(lái)的就是對(duì)不上、有問(wèn)題。這套驗(yàn)證我每次對(duì)接新分站都要跑一遍簽名錯(cuò)誤、并發(fā)超賣、證書(shū)問(wèn)題基本都能在測(cè)試期暴露而不是等活動(dòng)上線后被用戶投訴。一個(gè)反復(fù)踩過(guò)才記住的教訓(xùn)簽名函數(shù)必須和對(duì)接方文檔一字不差地實(shí)現(xiàn)哪怕你覺(jué)得對(duì)方算法寫得蠢也別自作主張改排序規(guī)則密鑰和簽名邏輯一旦進(jìn)了代碼倉(cāng)庫(kù)就等于把后臺(tái)賬號(hào)密碼貼到了墻上。每個(gè)被 401 折磨到凌晨的對(duì)接夜最后查出來(lái)都是這些細(xì)節(jié)。這篇方案的每一處坑都希望你繞過(guò)去希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇2做爰HD韩国电影| 婷婷五月久久| 国产婷婷五月天| 婷婷综合偷拍| 激情网 久久| 婷婷五月天激情小说| 亚洲区视频| 超碰av在| 中文资源在线a| 26UUU欧美激情一区二区| 超碰网站在线观看| 久久密臀婷婷| 日日夜夜天天| 色色免费网站| 五月丁香无码| 99亚洲精品| 激情伊人六| 国产精品人妻在线网址| 久久丁香婷婷色情综合| 亚洲欧洲中文日韩久久AV乱码| 婷婷六月天激情| 亚州激情网| 岛国操B不卡在线| 色色激情五月天| 99re这里只有| 色婷婷狠狠18| 色J香五月天| 天天做天天爱天天爽夜夜揉| 九月影院義母在线播放| 69精品人人人人人人| 国产精品天天狠天天看| 美妞av| 成人性生活免费观看。| 免费看欧美成人A片无码| 五月丁香婷婷色色| 色九月婷婷综合| 激情综合色五月丁香六月亚洲| 婷婷五月天最新综合你懂的 | 人人操人人添人人摸97| 国产色色色色色| 国产99热| 日本99视频| 成人网在线视频| 久久这里只有精品22| 操笔无码| 天天艹夜夜爽| 五月婷婷开心六月激情小说| 五月婷婷免费| 色婷五月天网站| 99五月丁香丁| av 一区三区四区| 超碰亚洲天堂| 性韩日色婷婷五月天激情啪啪XXX| 午夜丁香 婷婷| 久久婷婷青青| 国产探花一片区| 99av视频| 五月天婷婷丁香社区| 五月天婷婷色在线视频免费观看| site:hcxsz888.com| 九九综合伊人| 狠狠色丁香五月婷巨| 91丨九色丨熟女丰满| 成人无码髙潮喷水A片| 五月天婷婷社区| 亚洲日日操| 色色色色av色色色色| 久色网五月| 秋霞午夜理论| 久久九九大香蕉电院| 丁香婷停五月激情综合深爱| 久久欧洲综合网| 99.色| 久久精品小视频| 天天做天天要天天爽| 五月婷婷开心五月| 激情五月六月婷婷| 丁香六月婷婷综合| 日日夜夜天天| 天天日综合| 丁香六月婷婷色XXXXX| 丁香色情五月综合网站| 精品人妻伦一二三区久| 六月激情综合| 五月婷婷综合成人| 九九热a| 操操操av| 真实亲子乱子伦高清在线观看| 九九视频这里只有精彩| 日韩性视频| aa久久| 欧美五月丁香| 99成人在线观看| 婷婷激情四射| 亚洲综合视频八| 殴美日韩成人| 成人欧美一区二区三区在线观看| 色欲一二三| 日韩在线观看亚洲| 激情第四色| www.91av.com| 精品激情| 99免费视频在线观看爱| 日韩成人av在线| 久久九九网| 天堂久久丁香| 色色五月天激情| 五月www| 色婷婷色五月天| 欧美欧盟性爱网| 久久99这里只有精品| 五月丁香激情啪啪| 玖玖爱综合网| 五月婷婷丁香色播网| 六月婷婷久久| 中国丰满熟女A片免费观| 激情综合视频| 六月色日韩| 亚洲人妻五月丁香婷婷| 色九区| 99A片| 操逼视频一区| 五月婷婷狠狠干| 9月色婷婷| 天天插天天射| 日本99色| 亚洲人成人五月天| 天天干天天干天天| 99偷拍视频在线日本| 99久久婷婷| 草做免费在线观看| 婷婷五月天激情网| 九色PORNY自拍成人精彩视频| 婷婷的久久网站| 五月激情综合性爱| 亚洲99视频| 超碰91人人操| 超热久碰.com| 亚洲激情综合免费| 亚洲性爱AV在线| 丁香五月婷婷激情四射| 第四色婷婷丁香五月| 久久九色| www,色综合| 99热国产在| 丁香六月激情| 日韩性爱无码| 丁香婷婷五月天色综合| 亚洲黄色影视| 99精品视频偷拍| www激情五月天| 五月丁香久| 欧美A片在线视频免费观看| www久| 99A片| 中文字幕乱码亚洲精品一区| 亚洲成色综合网站免费观看| 日韩精品999| 伊人大香蕉毛片| 激情人妻蜜夜系列区| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 九九久99免费视频| 青青草搞屄视频网站| 99这里有精品| 婷婷五月色色| 婷婷五月天天爽| 99热午夜精品| 欧美激情综合色丁香婷婷五月天| 久久久久久久久月丁| 久热这里只有精品性色AV| 91碰在线| 男女99免费视频| 五月天另类小说| 人妻丰满精品一区二区A片| 永久无码色| 色婷婷六月天| 69色婷婷| 人人干99| 五月天堂色| 激情五月婷| 丁香五月网| 丁香六月婷婷综合缴| 97色五月婷婷在线| 婷婷五月18永久免费视频| 日本强伦片中文字幕免费看| 这里只有精品在线播放| 粉嫩AV久久一区二区三区| 激情五月天黄色小说| 六月激情网| www亚洲无码| 亚洲丁香五月| 99狠狠操一| 大香蕉中文| 婷婷五月色播放| 国产精品丝| 99精品视频网| 综合大香蕉| 日韩狠狠色| 国产精典视频在线观看| 激情婷婷六月天| AV色五月婷婷| 丁香五月婷婷五月基地| 色私五月婷婷| 99色精品视频| 7777久久亚洲中文字幕| 99色热视频| 丁香五月大香蕉| 中文AV网| 99成人小视频| 影音先锋四区| 久久草大香蕉| 婷婷噜噜| 欧美人人操| 99热这里只有精品4| 思思99热热热99| 亚洲情欲| 色综合色综合色综合| 丁香五月手机视频| 九九色逼| 亚洲五月婷婷| 这里只有精9| 99久久国产综合精品五月天喷水\| 99热免| 1024婷婷综合久久五月天| 色婷婷在线播放| 色综久久AV| 一本色道久久88加勒比| 热99在线精品| 色天天久婷婷| 91要啪| 久9热| 精品皮股午夜AV| 9久9久| 激情综合网五月激情| 婷婷丁香五月久久| 色五月激情| 疯狂做受XXXX高潮A片| 色婷婷色五月天| 久久总和99| 成人av免费观看| 久久婷婷五月综合色和| 激情综合五月激情XXXX| 另类在线观看视频| 亚洲第一成人AV| 亚洲AV中文在线| 色婷婷五月天激情综合| 丁香 婷婷 激情 综合 五月| 色色色区| OUMEIRIHANCHENGREN| 色五月在线观看| 黄页大全十八禁| 97五月天婷婷综合激情网| 五月天色影院| www.色婷婷.com| 九九热99精品在线| 久月丁香爱婷婷综合| 丁香五月婷婷婷桃花影院| 婷婷欧美| 久婷婷婷| 婷婷久久色| 久er免费视频| 激情图片99| 亚洲蜜桃精久久久久久久久久久久| 天天狠天天叉| 99热这里只有精品23| 人人舔人人| 欧美操人| 国产中文亚洲欧美日韩性交| 99rewww| 五月停亭六月,六月停亭的英语 | 丁香婷婷婷五月| Va另类视频| 六月婷婷视频| 狠狠狠狠狠狠狠狠草| 九九这里只有精品在线视频| 国产99精品免费视频| 97碰在线视频| 翔田千里aV中文字幕| 26uuu.| 丁香香五月激情免费视频| 久久丁香婷婷五月天| 五月丁香综合啪啪| 亚洲成人va| 第四色首页| 五月天激情四射网站| 五月婷婷色影院| 婷婷精品在线| A片试看120分钟做受图片| 操97在线观看| 91超碰人人操| 五月丁香六月婷婷的女人| 五月丁香六月婷婷激情视频在线观看免费 | 91在线操逼视频| 一级内射毛片| 中文字幕永久在线| 亚洲第一精品网站| 丁香五月婷婷网| 成人片黄网站色大片免费毛片| 九九视频在线观看视频6| 天天色中文字幕女优AV| 丁香婷婷九月| 丁香五月色五月婷婷宗合| 狠狠色五月天| 99久久66综合| 超碰操网| 开心婷婷五月天激情网| 日本久久天堂| 思思视频这里是精品| 日韩久久色| 国产成人AV在线| 99综合在线| 噜噜噜噜噜在线| 视频综合网| AV天堂淫乩| 国产热精品| 天天日天天做天天操| 婷婷六月激情在线视频| 国产激情av| 婷婷的99视频网站| 九九热精品| 中文字幕乱码亚洲精品一区| 另类丁香综合| 五月天婷婷色在线视频免费观看| 色区久久| 亚洲aV写真天天综合网久久| 色婷婷成人做爰A片免费看网站| 99.色| 天天日,夜夜爽| 丁香五月五婷| 丁香色婷婷| 97色色婷婷| 成人αV视频免费观看| 亚洲精级| 亚洲色婷婷| 丁香五月aV| 色婷婷五月天不卡| 九九色区| 精品三区影院| 天天干在线播放| 玖玖资源站国产| 五月丁香婷婷婷激情爱爱| 成人αV视频免费观看| 丁香五月天.com| 久久久久8888| 九九婷婷五月天影视| 玖玖婷婷五月天| 99在线精品观看99| 4438全国最大视频成人网站在线观看| 九九色热| 这里只有精品1| 激情婷婷| 玖玖精品婷婷| 99久久综合精品五月天| 五月天色丁香| 91九色大屁股| 99综合| 丰满少妇猛烈A片免费看观看 | 婷婷亚洲综合| 激情婷婷综合| 成人色情五月天婷婷丁香| 欧日韩成人| 九九99男女视频在线观看| 色色 9| 亚洲xx在线| 亚洲99在线| 五月青青草综合| 日韩三级视频一区二区| 久9久成人精品视频| 五月天另类激情在线| 少妇被下春药玩弄A片| 婷婷 久综合| 色欲一区二区三区精品A片| 成人在线视频网| 亚洲AV成人精品日韩在线播放| 国产婷婷综合在线免费视频| 久色网| 亚洲在线资源| 这里有精品| 性爱在线播放av| 99热这里是精品| 華人性愛AV在線| 996热| 大波美女VA网站| 中文成人在线| 色综合99| 永久的网站AAAA| 欧美成人精品A片免费一区99 | 六月婷婷中文字幕| 丁香六月AV| 亚洲字幕AV一区二区三区四区| 五月天激情国产综合AV| 丁香五月综合无码趴趴| 久久九九国产精品怡红院| 婷婷深爱色五月| H亚洲| 五月天激情小说| 亚洲成人综合在线| 99爱在线| 日韩无码色色| 97色色色色色| www色婷婷久久综合久色 | 在线中文字幕视频| 热99re| 激情九九六月激情免费视频| 丁香五月激情综合| 99精品在线观看视频| 丁香久久| 亚洲AVDVD| 五月天精品| 久久99久久99精品免观看软件 | 丁香六月天之亚州热女 | 欧美大奶熟女噜噜噜噜| 亚洲AVDVD| 婷色五月天| 亚洲情a| 翔田千里 50岁 无码| 九九热精品| 六月婷婷久久大全| 六月丁香啪| 94干大香蕉| 超碰在线99| 九九热精品视频在线观看| 天天射夜夜爽| 97色色婷婷五月天| 在线成人国产| 婷婷色影音天| 久草热久草在线视频| 欧美精品18| 五月婷婷香蕉| 9.1综合网| 超碰京东热av男人的天堂| 丁香六月激情综合| 午夜激情婷婷| 丁香五月婷婷基地| 五月天综合影院| eeuus五月婷| 久久久婷婷五月亚洲97号色| 超热久碰.com| 丁香五月天激情四射网络不好 | 99色看| 天天综合网、天天综合色| 97在线日本| 99久久66综合| 青草青草视频2免费观看| 日韩高清成人| 91人人操人人爱| www,26uuu,c0m,色情| 久久久月丁香| 婷婷五月天,影院| 91丨九色丨国产打屁股| 色色免费网站| 另类专区在线| 91se在线视频| 中文字幕成人| 五月婷婷在线视频免费观看| 色狠狠999综合| 深爱婷婷丁香五月激情| 亚洲精品久久久久久久久久吃药| 国产精品色色色色| 思思热热久久| 热99热9| 丁香六月激情蜜桃| 五月天激情子轮| 色婷婷亚洲在线| 婷婷五月天伊人网在线观看视频| 色天天久婷婷| 久久婷婷欧美| 草逼大片| 人人干av| 99热在线精品播放| 中文av网站| 丁香婷婷大香蕉| www久久艹| 丁香五月91| 久久伊人婷婷| 久久久久久久人妻| 一本大道嫩草AV无码专区| 亚洲欧洲中文日韩久久AV乱码| 6月丁香婷婷激情| 99er这里只有精品| 婷丁香五月天| 婷婷色狠狠| 丁香五月欧美| 五月天色丁香| A短视频免费在线观看| 在线视频婷婷| 99超级碰碰| 色丁香五月婷婷| 77799热| 亚洲精品五月| 亚洲人成色A777777在线观看| 人人操AV| 97日本在线播放| 国内9l视频自拍老熟女九色| 性生活视频98791| 天天性视频| 五月婷婷综合色啪首页| 中文在线成人| 久久xx| 七月丁香婷婷 色色| 婷婷丁香黄色| 思思久久99热| 婷婷干五月综合在线播放| www.射伊蕉婷婷| 激情综合五| 91热在线观看视频| 五月婷婷开心亚洲无| 久久AV电影| 99色中文| 激婷网| www.91在线观看| 天天日夜夜高潮| 丁香婷婷综合激情五月色| EEUSS鲁片一区二区三区| 亚洲色在线观看| 99热超碰人| 黄网在线播放| 国产超碰av| 伊人综合色干| 色婷婷五月天激情综合| 91丨九色丨熟女丰满| 夜夜爽77777妓女免费下载| 丁香五月www| 人人操Av| 9久精品视频| 欧美日本不卡黄色片| 秋霞免费三级片| 人人草人| 无码 av电影| 另类专区在线观看| 美女五月狠狠| 色色综合网www| 五月天激情综合在线| 开心激情网五月| 激情五月影院| 色99在线视频| 五月丁香婷婷综合| 超碰无码老师| 天天久久综合| 婷婷在线视频| 色噜噜狠狠色综合无码久久欧美| 在线成人视频免费| 九九re视频在线视频| 婷婷色系婷色| 97人人射| 久久五月视频| 婷婷五月天小说网| 欧美精品999| 思思久久99| 99A片| 五月情四婷婷| 六月激情综合| 这里只有精品视频222| 五月激情在线| 天天综合网~91| 影音先锋人妻出差| 精品一区久热| 人人操人人爱丁香五月| 五月丁香色停停啪啪啪| 激情五月天免费视频| 婷婷激情四射| 色爱99| 欧美久热| 亚洲丁香五月美女| 超pen个人视频97| 国产精品五月丁香| 在线播放人妻| 99综合一区| 91久女| 天天精品视频在线观看视频| 在线观看视频1区| 男女久久婷婷五月天| 亚洲精品无人区| 色久五月| 变态另类色图| 九九热最新| 超碰爱爱爱| 97碰久久| 五月天五月色婷婷综合| 五月天激情网图片 - 百度| 亚洲热热视频| 久久6这里只有精品| 极品人妻VIDEOSSS人妻| 青青福利网| 99热免费18| 天天摸天天舔| 4399在线日本A片| 五月婷婷中文| 夜夜操夜夜姧| 天综合日日夜综合7799| 丁香五月婷婷亚洲综合精品| 五月亭亭六月色| 成人做爰A片免费看网站找不到了| 久久黄色免费视频| 中文字幕综合色| 色五月婷婷91| 99精品视频在线免费观看| 激情玖玖sh| 99re思思热久久| 九九自拍网| 五月激情综合网| 婷婷丁香激情| 成人五月丁香社区| 亚洲欧美日韩VIP| 狠狠五月激情丁香六月| 丁香大香蕉| 欧美性猛交99久久久久99按摩| 久久久精品人妻录| 婷婷激情综合| www.com久久久久久久久久久久久久久久久| 欧美日韩aaaa| 99热 这里只有精品 国产 日韩| A片试看120分钟做受视频红杏| 激情婷婷啪啪| 夜夜骑日日操| 免费看无码视频A级| 国产成人+综合亚洲+天堂| 国产婷婷五月天| 六月丁香av| 亚洲乱码日产精品BD| 婷婷六月色| 婷婷六月网| 99碰网站| 99视频这里有精品免费观看| 婷婷99| 97luluse| 婷婷五月天激情小说| 丁香月六月| 婷婷五月成人色综合| 激情五月婷色| 免费看欧美成人A片无码| 婷婷综合五月天| www.狠狠操.com| 99在线公开视频| 婷婷丁香日韩五月| 欧美日韩aaa| 五月天婷婷色| 日韩99色99| 五月丁香视频在线观看| 丁香五月婷婷啪| 色婷婷无吗| 日本人妻伦在线中文字幕| 97碰久久| 婷婷五月色| 巴基斯坦粉嫩无码视频| 久久五月天黄色五月天色网址| 日韩九区| 91精品国产日韩91久久久久久国模| 丁香婷婷狠狠97| www.激情| 丁香五月在线| 97婷婷色| av网址在线| 五月婷婷色五月| 五月丁香六月情亚洲| 99高级会所久久| 婷婷色在线| 五月天丁香综合久久国产| 操逼电影免费看| av高清无码| 青草视频在线观看视频| 超碰AV在线| 五月色婷婷综合| 婷香五月| 狠狠综合网| 日韩成人中文字幕| 色玖玖综合网| 九九色婷婷| 色综合网址| 国产婷婷综合| 97精品欧美91久久久久久久| www.91操| 欧美噜噜噜草| 色五月婷婷激情综合网| 亚洲俩性性爱图片久久第六页 | 97色色色色色色色色色色色色色| 天天摸天天舔天天爽| 五月香蕉综合| 热久久国产视频| 五月婷丁香亚洲| 欧美日本一区二区三区| 99热这里只有免费| 六月丁香激情网| 激情影院丁香五月| 亚洲网视屏| 天天操天天操天天操天天操天天操| 五月婷婷天| a网站免费观看| 精品国产AV色一区二区深夜久久 | 五月天激情AV| 99热在线观看| 婷婷在线视频| 大香蕉伊人丁香五月| 九久热| 欧洲亚洲午夜| 婷婷激情五月吧| 婷婷操逼网| 另类五月激情| 婷婷六月激情| 亚洲欧洲中文日韩久久AV乱码| 五月天婷婷狂暴白浆| 激情婷| 超碰人人草| 99高级会所久久| 五月丁香六月香综合激情| 天天日本夜夜谢| 久久激情综合| 97综合视频在线| 国产avapp 网| 六月丁香五月激情网| 直接看的AV| 99热啪啪| www.婷婷激情网.com| 天天干,天天操,天天射| 婷婷五月天视| 五月婷婷免费在线视频| 亚洲人妻av| 天天综合色99| 美女亚洲五月丁香| 天天插综合| 五月天精品| Av在线资源| 五月婷丁香花| 婷婷丁香五月天激情| 五月婷婷六月丁香| 婷婷五月天毛片| 开心久久爱五月天| 玖玖99免费视频| 色吧婷婷五月亚洲| 欧美在线视频99| 亚洲欧美另类在线23p| 色情婷婷五月天| 婷婷综合国产| 成年AAAA色情| 色婷久九| 热久久这里只有三级视频| 这里只有精品久久| 亚洲色婷婷久久99精品91| 五月天婷婷色五月天| 婷婷五月丁香五月| 九九精品9| 99丁香五月婷| 美女精品一级不卡视频| 日本nghangse中文字幕| www.伊人天堂偷偷婷婷| 99热这里只有精品8| 丁香婷婷婷五月综合色情| 大伊久久| 久久精品国产AV一区二区三区 | www.狠狠| aa久久| 欧美激情久| 热99热9| 丰满人妻妇伦又伦精品国产| 亚洲激情亚洲激情| AV在线观看网站| 午夜福利成人AV91| 呦呦视频无码播放| 中文字幕日产A片在线看| 少妇高潮一区二区三区99欧美| 九九热这里| 31色区视频免费看| 久色五月| www.一区二区三区| 淫水导航| www,setingting| 亚洲AAAA网| 裸体做A爰片毛片A片免费| 伊人大香五月天| 亚洲激情五月天| 色99在线| 五月婷丁香| 性爱先锋AV| 激情五月天丁香| 久久久五月天| 久久激情网| 九九综合视频在线观看| 99综合视频| 天天日天天添| 99综合视频| 777.色色| 91色性感五月婷婷丁香| 色九月综合| 五月丁香六月婷婷婷婷| 天天日色情| 深爱婷婷丁香五月激情| 先锋男人91资源| 亚洲五月天另类小说图片| 99热高清在线| 91精品久久久久久| 婷婷五月天最新综合你懂的 | 五月天婷婷免费| 九九99免费视频| 五月天激情黄色小说在线观看| 深爱激情六月天| 国庆精品久久| 婷婷五月色综合香五月| 99热精品在线播放| 六月色激情| 99热亚洲精品| 五月 丁香 欧美| 伊人大香蕉爱聚| www夜夜| 日良久久| 嫩草AV久久伊人妇女超级A| 精品怡红九九九| 丁香五月九九| 激情五月综合网| 青青五月天婷婷| 亚洲天堂制| 五月婷婷人人人操| 天天做天天爰天天爽天天无遮挡| 26uuu色五月| 91狠狠色色丁香婷婷综合久久| 久久婷婷激情| 久九男女天堂| 操逼巨乳91| 日本熟女三区| 高清 码 免费看片短视频| 97香蕉久久超级碰碰高清版 | 久久婷婷综合网| 五月天婷婷激情| 五月丁香龟婷婷| 色五月综合激情| 色色色五月天婷婷| 色色免费网站| 五月丁香六月婷婷手机无线| 五月香蕉婷婷| 亚洲国产精品二二三三区| 青青操丝袜美腿| 超碰在线91| 色婷亚洲| 久久之人妻| 九热av| 热久久这里只有精品| 亚洲色A| 激情综合播播| 中文av在线观看| 99色婷婷| 欧美综合五月丁香六月婷| 天天日夜夜夜操操操操| 免费婷婷| 亚洲av无码影院| 搡BBBB搡BBB搡18| 97干在线播放| 伊人深爱综合| 蜜臀av无码久久久久久久久| 久久九九99桃花视频| 乱精品一区字幕二区| 一起草无码| 日本不卡五月婷婷丁香| 深爱婷婷基地| 色日本综合| 猫咪伊人AV| 亚洲中文字幕网| 超碰国产在线观看| 婷婷五月天干干| site:picc-up.com| 丁香五月性爱| 日本三级毛片| 大香伊人婷婷影院| 成人无码免费一区二区中文| AV性爱网| 中文字幕 码精品视频网站| 丁香婷婷社区| 婷婷丁香色无五月| 5月婷婷六月丁香| 五月天激情综合网站| 99riAV国产精品视频| 1024久婷| 大香蕉视频婷| 9九九久久精品无码专区| 五月丁香色婷婷| 五月婷婷,六月丁香| 国产精品美女| 天天综合精品| 无套内射极品大美女| 性生活久久朋友人妻| 26UUU欧美激情一区二区| 六月丁香成人| 另类五月婷婷| 精品夜夜澡人妻无码AV| 亚洲av网站| 综合久久综合久久| 婷婷九月亚洲| 99精品在线观看视频| 91蝌蚪窝视频在线| 午夜天堂一区人妻| 在线18av | 午夜无码熟熟妇丰满人妻| 色婷婷综合网| 成人超碰网| 玖玖爱伊人网| 丁香亭亭激情四射| 在线色婷婷| 9色免费网| 94干大香蕉| 亚洲色婷婷五月天| 九九精品综合| 天天爱天天做天天日| 婷婷在线播放av| 婷婷丁香视频在线观看免费 | 久思思久视频| 狠狠做五月婷婷| 六月丁香婷婷亚洲中文玖玖| 全国最新疫情| 99热这里只有免费| 日日杆天天| 色综合久久99色| 色五月在线观看| 99国产精品久久久久久久久久久| 成人综合网站| 操逼视频网址| 91精产一区三区免费观看| 亚洲情色一区| 五月天色婷伊人| 99综合99| www.99热这里精品| 99热播放| 久久婷婷五月天| 五月色亭丁香| 日韩AV在线免费观看| 婷婷五月天丁香花| 狠色狠色狠色狠色狠色网| 伊人五月成人| 99操视频| 色色网站毛片| 日本人人干| 亚洲一色色色色色色色色| 亚洲情a| 热久国产| 亚洲精品又粗又大又爽A片| 97超喷视频在线观看| 久久婷婷国产| 天插天啪天啪天啪| 五月天综合在线| WWW.夜夜操.com| 99爱免费视频| 99操逼| 色情网综合| 五月婷色色| 婷婷亚洲在线| 五月丁香六月婷综合成人综合| 免看黄大片AA | 五月天婷综合| 婷婷瑟五月天久久综合| 99成人| 成熟妇人A片免费看网站| 国产亚洲网站在线| sewuyuejiqingwang| 在线天堂9| 久久婷婷丁香花综合网| 91碰视频| 五月天婷婷在线AN| 激情综合五月丁香| 涩涩婷婷五月| 襙比视频| 97久久视频| www.九九婷婷| 怡红院院在线导航网| 播五月丁香三月婷婷| 99热在线观看| 99热9| 婷婷丁香五月网| 久久人妻少妇嫩草AV| 啊v视频在线观看| 五月婷婷激情视频| 精品影院| 丁香五月激情六月欧亚激情综合导航| 婷婷五月天中文字幕| 婷婷五月天在线观看| 超碰99久久| 99这里只有| 欧美三级巜人妻互换| 五月丁香久久精品在线观看| 丁香五月欧美午夜视频| 婷婷综合性爱网| 26UUU成人网| 超碰在线99| 26uuu丁香婷婷五月| 99热在线成人网站| 精品久久久久成人码免费动漫| 久久久婷| 在线成人网址| 色爱99| 成人va在线播放| av五月天婷婷丁香| 五月五丁香婷婷| 亚洲成人网站在线观看| 婷婷色在线观看| 五月婷六月| 丁香婷婷性久久| 国产婷婷五月色情综合| 丁香五月婷婷社区| 五月婷婷婷婷婷婷艺术| 专区无日本视频高清8| 九九热色视频| 天天肏屄夜夜爽| 色99在线视频| 久99久视频免费观看| 五月天综合色| 成人网页在线观看| 久久这里只有精品99| 伊人大香久久| 五月色影院| 操婷婷久久| 天天干夜晚夜操| 亚洲四色五月| 五月亭亭网成人在线视频| 日韩有码一区| 99视频在线精品| 亚洲有码在线视频| 久婷五月| 91丁香五月| 精品久久99| 五月丁香综合啪啪| 色人久久| 五月天色婷婷小说| 色婷婷五月天av在线| 日日爽天天| 九97免费视频| 午夜九九九九九九九九九九九九九| 六月婷基地| 午夜激情婷婷| 精品五月视频婷婷在线观看| 丁香五月天堂| 丁香五月宝贝激情网| 成人草榴视频| 亚洲操b| 人人综合久| 婷婷五月天久久| 激情亚洲五月| 性爱技巧五月| 丁香五月激情网| 激情网第九色| 成人做爰高潮A片免费视频 | av五月丁香婷婷网| 天堂综合久| 激情五月天婷婷| 欧美电影在线观看| 噜噜色噜噜网| 色射影院| 欧美电影在线观看| 玖玖热视频| AAA久久久| 亚洲无AV在线中文字幕| 天天搞天天色综合| 操九色| 99精品网| 99免费视频网| 色色爽爽天天| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 99热这里只有精品一区| 人人干女人| 色婷婷成人做爰A片免费看网站 | 色色色.com| 久久婷婷丁香五月宗合| 婷婷丁香五月综合| 99久久免费精品| 亚洲黄色影视| 亚洲无码影片| 五月丁香婷婷色色| 五月天激情小说婷婷基地| 色蜜婷婷| 亚洲亚洲人成综合网络| 激情五月天社区| 思思久久精品视频| 噜噜狠狠色综合久| 五月婷婷六月丁香| 开心五月天激情网| 天天色一道本综合婷婷| 五月天丁香啪啪啪啪| 五月丁香六月色| 五月丁香中文| 激情5月婷婷狠狠干| 久婷婷色| 丁香花社区av| 色婷婷基地| 婷婷狠狠干| 五月综合激情| 丁香五月婷婷色情综合| 激情综合色婷婷啪啪六月天| 九九热a| 婷婷五月激情综合啪啪| 天天色粽合合合合合合合| 五月天丁香| 开心婷婷五月中文字幕组| 丁香六月激情综合| 国产永久一黄| 99丁香婷婷综合网| 丁香六月婷婷| 久久久五月五丁香| 思思国产99| 婷婷五月俺要去| 日本综合久久| 超碰不卡在线| 久久婷婷五月综合网| 天天综合精品| 婷婷色色五月天| 五月天婷婷伊人| 激情开心五月天婷婷基地丁香社区| 久久五月天合网| 另类小说五月天| av激情在线| 极品五月天| 婷色天堂| 狠狠干综合| 婷婷色五月天在线观看| 99啪99| 婷婷涩涩五月天| 1010日日无码| 五月丁香WWW| 激情婷婷内射| 五月花综合| 色优久久| 久久婷色| 中文字幕婷婷| 热久久91| 色噜噜狠狠色综合成人网| 操逼巨乳91| 91在线操| 久久婷婷资源| 色婷婷性爱| 婷婷久久五月天中文字幕在线观看| 99riAV成人在线视频| 精品人妻在线免费观看| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 天天 日综合| ...婷婷国产成人亚洲日韩| 亚洲色9| 亚洲综合激情五月天婷婷| 丁香成人五月天| 91婷婷丁香五月天免费视频网站| 日韩欧美一级大黄网站| 91精品婷婷国产综合久久| 色婷| 久久综合激情| 丁香亭亭久久| 色婷婷成人做爰A片免费看网站| 99色免费观看全部| 丁香五月六月综合激情| 热久精品| 五月婷婷啪啪| 超喷97免费在线视频| 婷久久高清| 99热在线看| 中文字幕综合| 久久婷婷五月天激情新地址| 色天天综合天天综合频道。| 五月天六月丁香| 亚洲成人乱码av网站| 五月婷婷我| 婷婷五月天天天| 久久多色| 狠狠干狠狠干| 51精品国自产在线| 丁香五月天日韩无码| 久久免费丁香| 激情五月婷婷| 色婷婷六月综合| 久久少妇视频| 99福利导航| 一起草av| 日韩中出视频| 99操无码视频观看| 婷激情五月天视频导航| 六月天六月婷| 婷婷五月天福利| 亚洲色视频| 天堂AV在线看| 婷婷五月AV| 欧美交换配乱吟粗大25P| 激情久久综合| 草草操操| 激情婷婷五月天网址| 亚洲十月婷婷综合| 婷婷色五月婷| 五月丁香偷拍| 日本操B视频在线观看| 影音先锋 一区| 噜噜噜噜噜久| 国产精品A片| 丁香五月首页| 成人在线二区| WWW免费视频碰碰碰碰| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 99久在线精品99re8| 99re热视频这里只精品| 99在线热视频| 天天婷婷天天| 天天噜| 五月婷色| 日本视频欧美观看免费| 色婷婷视频| 五月天成人在线视频网站| 四色永久成人网站| 六月婷婷AV| 天天爽天天弄| 婷婷狠狠97| 色欲五月丁香| 超碰超碰在线| 天海翼中文字幕高| 日韩成人AV在线| 婷婷五月天BBw| 婷婷丁香在线| 91久久综合亚洲噜噜成人在线| 婷婷综合成人五月天| 99久在线观看| 97伦色婷婷| 丁香五月瑟瑟| 亚洲第一成人无码A片| www.99riav99| www色婷婷久久综合久色| 日本色色网站| 久久婷婷原创视频| 99热在线里有精品| www.91九色| 青青999| AV国产有码| 国产毛片精品一区二区色欲黄A片| 91丨九色熟女丨首页| 五月婷婷六月激情网| 99久视频| 99狠狠色| 激情五月天婷婷丁香| 黄色录像网点| 亚洲第一色色色色| 丁香五月Av| 伊人婷婷大香蕉| 婷婷社区五月天| 五月婷九月| 色 五月俺去也| 色五月综合| 99热国品免费| www超碰| www.maotanji.com| 538在线精品| 久久99精品久| 五月精品免费XXX| 51精品国自产在线| 99色最新在线视频| 午夜五月天| 九热视频| 久久婷五月婷| 9999三级片| 亚洲婷婷久久综合| 98永久精品| 天天综合精品| 丁香五月综合首页| 开心婷婷中文字幕| 97超碰欧美中文字幕| 777色色色| www.色情五月天.com| 五月天播播| 成年视频免费观看| 丁香五月天堂| 国产AV不卡福利| 五月婷婷综合视频| 97操碰在线视频| 99热资源在线| 99热在线观看精品| 久久色区| 操操操av| 五月婷婷爽爽爽| 五月激情网络| 97丁香视频|