免费国产精品自在自线-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
返回資訊列表
激情五月天啪啪| 插插五月天| 99黄色性生活| 黄色99视频| 五月婷婷在线免费观看| 国产精品久久久60086| 色啦啦视频| 性日本精品| 国产综合丁香五月天| 五月开心激情| 丁香五月激情六月欧亚激情综合导航 | 五月天天综合| 成人深爱丁香五月| 人碰人人人玩91| 九九久久网| 殴美日韩成人| 天天日天天色| 五月丁香六月婷婷姐| 亚洲、欧美、国产另类笫二区| 夜夜撸天天操| 99青青草| 99热.com| 久久人妻视步| 天天狠天天狠| 91日精品| 国产成人精品一区二三区熟女在线 | 另类激情综合| 操人妻视频91| 成人精品在线观看| 国产探花一片区| 啪色综合| 五月天成人在线| 五月婷婷丁香网| 伊人五月天在线| 欧美韩日AAA网站| 美女伊人久久| 香蕉AV福利精品导航| 思思精品热在线| 91精品无码久久久久久五月天| 99热都是精品| 色五月丁香婷婷| 久久机热这里只有精品免费视频| 最新AV在线观看| 五月丁香综合激情| 五月天久久网站| 蜜桃婷婷五月| 久大香蕉| 四虎99热在线观看网站| 色婷五月天| 欧美色爱五月天| 国产片天天爽夜夜爽| 热99玖玖99玖玖99九九| 婷婷中文字幕| 涩涩涩,com| www.久99| 久久人人看| 色导航色婷婷五月天在线观看| 久久免费精品小视频| 96丁香婷婷九月蜜桃综合久久| 99精品在线观看| 五月丁香久久网| 九九九九成人| 日韩人妻白浆视频系列| 大香蕉人妻| 色五月欧美| 久鲁鲁色网| 超碰啪啪网| 色色婷婷五月| 亚洲网站999| 99视频在线观看视频| 色五月天激情| 中文字幕综合| 亚洲操B视频| 丁香六月在线综合| 丁香五月天视频| 婷婷六月天| 操日本人妻视频| 五月丁香久久精品在线观看| 丁香五月日韩| 欧美激情综合色综合啪啪五月| 97碰碰免费.视频| AV九九| 丁香六月婷婷综合啪啪| 久久婷婷五月综合伊人| 色婷婷综合网站| 青青热久久综合| 欧美激情综合色综合啪啪五月| 丁香五月色激情| 色色色色色网站| 综合99在线| 婷婷欧美综合| 亚洲AV成人在线| www.精品久9| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 91 久热| 欧美激情综合色综合啪啪五月| 色停停香蕉视频| 天天色色天天| 天天操天天曰| 久久六月综合| 操逼六区| 任你草| www.五月天色色.com| 丁香五月人妻| www.9797国产| 九九色图| 人人摸人人搞| 色色色色色综合| 婷婷五月天堂| 五月天婷婷久久| www婷婷| 激情综合五月天| 激情五月开心五月丁香五月| 婷婷五月色惰| 五月天合网| 99人妻碰碰碰久久久久禁片| 色婷婷99| 欧美性丁香色色五月天综合爱爱| 色婷婷六月精品| 色五月 激情婷婷 综合五月天| 欧日美女Va| 久久黄A片| 婷婷伊人网| 日本色99| 五月丁香久人妻中文| 五月天久久久| 婷婷丁香五另类网站| 婷婷五月天另类视频| 久久视频这里都是精品| 天天精品视频在线观看视频| 成年人丁香五月| 狠狠干婷婷| 久久天天| 五月婷婷中文字幕| 国外亚洲成AV人片在线观看| 五月天激情亚洲| 99视频在线观看视频| 五月婷婷色色网址| 99精品在线播放| 热的国产99热| 精品久久久久久久久久久久人妻| 五月婷婷中文字幕| 中文字幕在线不卡| 婷婷97狠狠成人网站| 思思久久99热只有频精品66| 婷婷五月超碰| 翔田千里 50岁 无码| 人人操99| 狠狠干思思热| 久久久激情| 色情成人五月天| 五月Huangsewang| 久操大屁股女人av| 女人露出p毛视频www网站| 婷婷天天插天天爱| 激情六月色| 日本色色图| 精品色色| 99久高清视频| 中日韩美欧成人一区二区精品在线| 日本强伦片中文字幕免费看| 超碰色女| 婷婷丁香五月天欧美| 激情六月婷| 天天弄天天操| 少妇2做爰HD韩国电影| 久综合4| 九九色之九九色之88| 丁香婷婷网| 99爱免费在线观看| 色噜噜狠噜噜视频| 国产精品久久久久久久久久| 桃色激情五月天| 丁香女人五月天| 五月丁香在线综合| 中文字幕人妻熟女在线| 182TV亚洲| 五月婷婷中字在线| 99色在线| 五月丁香婷婷钟和色图| 99色色爰| 久久怡红院| 思思热在线观看| 大香蕉久久伊人网| 色波激情五月天| 人妻无码精品一区| 色色丁香| 1024国产| 狠狠做婷婷| 99热这里| 婷婷激情视频| 色五月婷婷色五月| 青草视频在线播放| 99在线精品观看99| 思思热在线| 97在线观看| 色婷婷亚洲| 艹| 婷婷99狠狠躁天天躁| 婷婷五月丁香基| 91人妻人人操人人爽| 五月丁香婷婷啪啪综合网| www.99婷婷| 久草丁香婷婷1024| 婷婷五月丁香五月丁香| 97久久人人| 九九婷婷热| 丁香五月情色| 五月婷婷色色色| 操精品9| 人妻性操逼中文字幕 国产| 五月天婷婷激情综合| 可以看的av| 精品人妻在线| 五月丁香偷拍| 1024在线视频| 五月天激情婷婷小说| 人人摸人人搞| 91爱啪啪| 五月婷婷啪啪啪| 99九九热播在线免费视频| 欧洲亚洲最新精品| 俺去也综合| 久久天堂精品| 婷婷丁香五月天激情| 4399无码视频| 国产欧美婷婷五月| 欧美成人精品A片免费一区99| 天天射天天干天插色综合| 五月天激情小说欧美激情| 天天综合精品| 丁香五月亭亭六月综合激情网| 成人网址在线观看| 欧美丁香婷婷天天操| 亚洲天堂九九九| WWW五月天| 91操人视频| 免费AV在线网址| www,五月丁,com| 99热这里只有精品9| 综合激情在线| 97碰超级人人看| www:99热视频| 色五月婷婷一二| 97色五月丁香婷婷| 婷婷色色欧美| 99久久新视频| 欧美日本国产欧美日本韩国99| 99少妇精品| 日本五月婷| 久久婷婷五月丁香蜜桃网| 丁香五月天婷婷久久综合| 天天射影院| www.色婷婷| 色五月婷婷色| 天天综合色丁香| 五月婷婷六月色| 日日爱678| 五月婷婷中文字幕| 思思热99er在线视频| 婷婷亚洲综合| 99色爱| 色情网综合| 五月花综合视频| 激情碰碰碰| 婷婷色五月色| 久草视频一,二三四| 激情综合99| 色欲九区| 天天天天做夜夜夜夜做| 碰碰碰97免费精彩视频| 五月综合丁香婷婷| 99久久久国产大片区| 国产午夜一区二区三区| 五月情四婷婷| 91a片爽| 久久久久久久久人妻| 婷五月天六| 播五月开心婷婷欧美综合| 99色在线观看视频| 亚洲中文乱字字幕在线永久| AV五月丁香| 北条麻妃九九九国产精品视频| 开心五月婷| 六月丁香啪| 六月婷婷色色色| 色婷| 国产偷人爽久久久久久老妇APP| 色综合久久天天综合网| 99久久亚洲国产| 久久综合影院| 66久久视频在线| 影音先锋 萱萱| 九九视频这里有精品| 4399欧美另类视频| 六月激情婷婷| 播四月婷婷六月丁香| 久久精品五月天| 国产欧洲欧洲精品久久| 色婷婷a三区麻| 99热欧美精品| 92久久精品一区二区| 99热在线免费| 91 九色 熟女| yw.av| 激情文学天天| 狠狠爱丁香婷| 婷婷五月天影院| 六月丁香婷婷在线波多| 六月丁香av| 极品少妇XXXX精品少妇偷拍| 激情五月丁香亭亭| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 狼人伊人天堂| www色色com| 天堂婷婷五月色| 日韩啪图| 丁香五月成人| 粉嫩av蜜桃av蜜臀av| 天天爽人人爽| 九九激情网| 丁香五月-激情综合| 先锋资源婷婷| 91小黄书网址在线观看| 超碰人人在线| 男人天堂 久久| 日本狠狠干| 色香欲综合| 99热欧美在线观看| 99ri精品在线| 久久91久久精品久久| 91色噜噜狠狠狠狠色综合| yazhouzonghesese| 婷婷月五天在线在线看| 婷婷五月天大香蕉| 国产内射婷婷| 天天综合色| 开心激情网五月天| 婷婷丁香激情五月| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 狠狠色九月| 天天干,天天日| 五月丁香综合| 丁香九月婷婷色| 久色网| 91人无码久久久久久| 婷婷久久五月| 九久9精品| 97色色色色色| 性色99| 99热最新地址在线| 玖玖爱资源站| 超碰国产av| 五月婷护士| 天天日夜夜| 久久久99免费视频| 丁香五月婷婷五月| WWW,婷婷,COM| 婷婷色情小说| 五月天激情婷婷五月天久久| 激情五月伊人婷婷| 26uuu青青| 亚洲色图81p| 婷婷九九色| 日韩中文字幕| 日本人妻伦在线中文字幕| 99无码视频| 五月婷婷激情中文字幕| 久久人妻人人| 色播五月网| 天天操夜夜爱| 久草xx性爱视频| 97五月天婷婷午夜| 人人草成人视频| 婷婷激情视频| 日本在线视频播放91| 一级性感毛片| 九九re视频在线视频| 99热热热天天人人人超超碰| 色色色色色色综合网| 天天拍天天操| 色色五月天婷婷| 婷婷午夜天| 丁香婷婷色| 99久久五月婷婷| 五月丁香六月婷婷国产视频| 婷婷五月天在线观看免费| 婷婷五月天激情综合深爱| 五月激情精品视频| 天天干天天干天天干天天干天天干天天 | 五月天综合婷婷| 99riAV国产精品视频| 免费看成人747474九号视频在线观看| 国产精品色色| 九九九九国产| 操骚货在线| 丁香婷婷色五月激情综合| 久99热| 另类图片天天影视在线观看| AV大香蕉| 亚洲乱码日产精品BD| 嫩BBB槡BBBB搡BBBB| 狠狠干狠狠色| 国产69久久久欧美黑人A片| 夜夜操狠狠操| 99九九这里有免费视频| 免费看片在线观看| 丁香九月综合激情| 婷婷偷拍网| 99在线观看视频精品| 久婷婷五月激情| 五月天婷婷久色| 丁香五月天激情综合网| 色色色无码| 深爱五月天| 免费亚洲婷婷中文字幕| 婷婷91| 亚洲亚洲人成综合网络| 狠狠狠狠狠狠草| 久久丁香九| Www99热| 91欧美日韩综合| www.xtbsty.cn.com蜜乳AV| 99热精品少| 亚洲色a| 日日日天天干| 丁香婷婷基地| 成人做爰A片免费看视频| 日木WWW视频| 久热在线观看视频9| 天堂综合久久| 五月色婷婷影视在线电影| Www.婷婷五月| 91激情五月开心| 亚洲色色色| 五月天婷a在线| 中文久久婷婷| 人妻内射麻豆视频| 日本va欧美va国产激情| 五月丁香六月激情| 大香蕉伊然在亚洲90| 26UUU欧美激情一区二区| 五月丁香日本一抹本| 99亚洲大片精品永久在线观看| 91wwmm导航| 99热主页日本| 国产av一区二区三区| 91性人人| 五月婷婷深深爱爱| 综合成人小说婷婷| 久久人妻高清中文| 在线色色| 久久九九99视频| 99九九99九九九视频精彩| 日韩狠狠色婷婷| 婷婷网五月天| 亚洲色五月| 97色视频网| 亚洲日本激情| 性热视频99精品| 国产亚洲精品AAAAAAA片| 亚洲AV永久无码影院黑人| 99久久99九九99九九九| www色综合| 26uuu欧美日本| 午夜微拍福利| 新久久五月天激情| 天堂久久性| 中文字幕在线免费看线人| WWW99视频| 色婷婷激情小说网| 91男同| 国产精品24r| 快乐激情五月色婷婷| 99er精品视频| 国产精品久久久爽爽爽麻豆色哟哟| 久久精品系列| 天天做 天天爱| 婷婷激情六月| 任我鲁这里有精品视频| 思思精品热在线| 五月花婷婷| 久七香蕉| www.开心激情| 国产乱子轮XXX农村| 丁香五月日韩| 亚洲色优| 教师性爱毛片| 精品国产va久| 99热官网| 久久多色| 日韩九区| 第四色大香蕉| 97在线视频 欧美| 思思热精品免费视频| 五月天色色网站| 4438国产免费看| 综合深爱五月| 国产片XXXXA片国语对白| 五月婷婷综合激情网| 五月丁香六月婷婷网| 人妻第九页| 九九激情网| 日本色色图| 色婷婷影| 99热成人| 久久伊人婷| 99热九九在线| 丰满少妇猛烈A片免费看观看| 九九伊人网| 人人九色| 99玖玖在线视频| 婷婷色基地| 9九九久久精品无码专区| 99综合婷婷五月| 天天操夜夜操| 五月激情五月丁香| 色墦五月丁香| 成人超碰AV| 婷婷爱五月天| 五月天婷婷一起草| 婷婷爱五月| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 超碰色色综合| 丁香六月婷婷开心| 色综合婷婷| 91viP在线看| 原琪琪色影院| 日本99热| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色情五月天丁香社区| 99色精品| 色吊丝永久访问网址| 狠狠插狠狠插| 五月 成人 婷婷| 日韩精品一区二区亚洲AV观看| 婷婷综合一二三| 天天干电影| 4399在线观看免费毛片| 婷久久| 色五月综合激情| 91碰碰碰| 丁香婷婷激情五月| 久久全意婷婷| 色五月丁香五月天| 国产97色在线 | 日韩| 99热在线观看精品| www,8050,午夜三级| www.久久久久| 欧美韩日AAA网站| 超碰99热精品在线| 这里只有精品视频| 丁香五月性爱| AA片在线观看视频在线播放| 五月天堂在线| 九九九九无码| 天堂久久精品| 色五月婷婷成人视频| 成人亚洲精品久久久久 | 亚洲 五月 婷婷 成人| 色婷婷AV久久| 婷婷激情在线| 青青草a在线| 国产精品色情AAAAA片软件| 综合图区激情| 九色七七| 婷婷六月天| 思思久日精品视频| 婷婷五月丁香91| 五月天婷婷久久视频| 色婷婷五月天天天天天天天天天| chaopeng在线人人| 久久精品9| 五月天·www·com| www.五月婷婷.com| 欧日韩AV| 国产在线视频1234| 色偷偷五月天| 婷婷五月丁香伊人| 久久激情视频| 99天天操夜夜操| 日韩综合久| 777久久精品| 日本玖玖在线| 色综合色色色| 天天摸天天日天天舔| 人妻久久婷婷| 99热在线观看| 激情综合网五月| 激情婷婷五月天伊人在线观看| 嫩草视频| 99色视频| 99精品视频网| 97激情五月天| 综合网啪啪| 一起草AV入口| 国产免费AV网站| 亚洲日韩26uuu| 色欲婷婷五月天丁香| 免费黄色片子| 五月丁香五月综合欧美| 五月花成人网| 久久免费操| 日本视频久久| 激情文学久久| 激情六月日韩| 婷婷六月丁香久| 久久婷婷综合国产| 99欧美精品99日本精品| 特级西西4444www无码| 午夜激情五月天| 99在线观看视频免费| 亚洲精品另类| 亚洲精品又粗又大又爽A片| 青青草原伊人网| www激情网| 欧美日朝成人| 久久九九re热| www五月婷婷| 少妇婷婷五月天| 91丨九色丨熟女丰满| 丁香六月丁香婷婷激情| 日本丁香五月| 欧美五月婷婷| 99爱在线精品视频免费观看| 欧美丁香六月激情视频| 六月丁香婷婷五月天| 情一色一乱一伦一91A| 色狠狠色噜噜AV天堂五区| 久久婷婷色| 99热地址| 五月丁香基地| 高清无码一区二区三区四区| 丁香五月激情婷婷视频| 日韩精品超碰在线观看| 久久五月天丁香花| 激情AV网| 国产欧美日韩综合精品一区二区| 六月丁香五月天| 婷婷 丁香 精品| 另类综合网| 深爱五月综合网| 色婷婷在线播放| 99人人精品| www。五月,com| 九九热免费视频| 丁香六月五月天| 五月丁香久| 色色色色网站| 夜夜夜夜撸夜夜操| 国产精品热搜丁香五月婷婷| 天天天添天天操| 新99思思视频| 午夜理论片最新午夜理论剧| 久久永久网址| 无码se| 欧美久久婷婷| 欧美婷婷日本| 五月天综合久久| 婷婷综合亚洲| 婷婷丁香激情综合色情| 97热这里精品在线视频| 激情五月天综合网| 久久五月激情综合| 99热免费精品| 色婷婷久久综合| 成人 视频免费观看网站| 1024成人在线观看| 色五月婷婷91| 97性视频| 婷婷五月AV| 色综合中文| 99爽视频| 久久色婷婷| 91色色色| 激情网五夜婷婷| 99热欧美在线观看| site:901-07.com| www.狠狠操.co m| 日日操夜夜操狠狠操| av在线超清中文| 丁香六月婷婷高清| 亚洲行行色色| 99精品小视频| 狠狠五月天| 天天天在线观看| 色婷婷69| 人妻精品一区二区三区| 99热这里只有精品9| 欧美交换配乱吟粗大25P| 欧类av怡春院| 男女av免费看| 九九色播五月丁香| 久9视频| 五月天开心激情网色欲无码| 精品九九视频| 婷婷天天婷婷天天澡| 丁香婷婷色色| 六月婷婷色综合| 亚洲成av人影院| 久久五月婷综合| 中文成人在线| 夜夜 操无码| 五月天伊人av| 99热成人在线观看| 九艹在线| 六月丁香婷| 久久久久久久11111111111| 艹色18p| 五月激情婷婷综合| 小视频aaa久久久| 久色五月| 久操福利| 强壮的公次次弄得我高潮A片日本 | 五月婷三级片| 五月天久久综合| 青草性爱视频| 婷婷综合精品视频97| 五月丁香色| 成人做爰A片免费看视频 | 丁香五月婷婷五月天| 夜夜撸天天操| 五月精品99综合| 成人电影在线免费试看| 五月婷久久| 九九色热| 六月婷婷综合| 五月丁香婷婷啪啪网| 思思久久网| 色色色色网色色网色色| 91九色精品女同系列| 亚洲精品久久久无码 | 丁香六月啪啪啪| AA片在线观看视频在线播放| 五月天婷婷激情在线色图| 婷婷五月天最新综合你懂的 | www.色婷婷| 天天精品视频在线观看视频| 亚洲成人在线免费| 久久大国产香蕉| 久久精品63| 丁香婷婷六月激情综合| 影音先锋一区二区三区| 丁香五月婷婷色综合| 无码人妻激情| 色婷婷激情五月天| 色五月综合| 色综合香蕉视频| 婷婷丁香六月影视| 91AV婷婷| 日本97人人| 色婷婷六月性| 丁香婷婷性久久| 欧美精品中文字幕亚洲专区| 9精品在线| 亚洲欧州色情在线观看| 99热这里只是精品| 97狠狠色| 超碰啪啪网| 亚洲第一色色色色| 91久久精品无码一区二区三区| 久久精品一区二区三区四区| 欧美日韩99| 丁香五月婷婷在线观看| 国产精品人成A片一区二区| 99色五月| 日本五月天一页| 熟女人妻一区二区三区免费看| 天天搞天天色综合| 天天日,天天射,天天舔| 69精品人人人人| 91狠狠综合久久久| 五月天激情综合网| 五月婷婷婷色| 激情网第四色| 国产毛片精品一区二区色欲黄A片| 婷婷色基地在线看 | 色情久久久| 丁香色婷婷| 婷婷激情性爱| 深爱五月天| 亚洲精品另类| 婷婷亚洲在线| 性做爰1一7伦| 99re99热| 99久久婷婷国产综合精品草原| 成人在线网站| 五月在线| 九月婷婷综合在线| 五月婷婷我| 亚洲深喉aV| 激情综合网五月天天| 无码操B| 色色免费网站| 噜噜色五月| www.com色播五月天| 丁香五月综合网亚洲综合欧美狠狠| 国精产品一区一区三区免费视频 | 丁香五月六月久久综合| 色婷婷小说| 九九精品综合| 97在线刺激| 色九九七七| 色99网| 五月婷婷先锋| 99热这里只有精品最新地址获取| 激情性爱五月天网页| 天天干夜夜b| 亚洲日韩乱码一区二区三区四区 | 亚洲爱爱无码婷婷色五月| 97综合在线| 狠狠看狠狠| www.超碰| 丁六月激情| 成人短视频在线观看| 亚洲激情亚洲激情| 天天日天天操心| 玖玖资源站国产| 97久久超碰| 日本色婷婷综合| 少妇大叫太大太粗太爽了A片 | 丁香五月激情综合网激情五月| 九九成人| 婷婷丁香六月激情综合| 免费无码毛片一区二区A片| 五月丁香综合久久| 秋霞av吧| 婷婷丁香五月高清| 久啪欧美| 99久.| 久久9视频| 婷婷精品视频| 天天天天天色| 91av视频| 日本婷婷| 日本久久高清| 婷婷五月天色色| 天天做天天要天天爽| seuuu婷婷| 丁婷婷五月天在线播放| 69久久99精品久久久久婷婷| 综合色情网| 熟女激情网| 五月婷婷综合激情小说| 五月丁香六月婷婷国产视频| 色老久久| 欧美这里只有精品| www 五月天 com| 激情综合另类| AV在线免费播放| 亚洲色涩视频| 大香蕉综合视频在线| 激情深爱综合网| 美女黄频aⅴ视频| 97色色视频| 天天做综合网色综合| 色爱综合五月| 久99| 六月丁香婷婷尤物| 99热在线爱| 二色av| 午夜性爱影视一区77| 色婷婷久久7777| 久久综合激情| 开心日韩丁香婷婷五月| 久久大香蕉伊人| 激情色色色| 高清无码中文字幕aVDV| 人人干女人| 九九黄色网| 国产密乳av一区二区三区四区| 五月丁香啪啪综合网| 色色综合热| 日本三级韩三级99久久| 色五月婷婷开心| 久久久久婷 | 久色视频首页| 涩 五月 婷婷 狠狠| 欧美综合婷婷网| 99热一本久道| 五月丁香综合啪啪| 婷婷成人五月天成人文学小说| 99精品久久久久久久婷婷| 欧美大片| 亚洲99在线| 先锋男人99资源| 五月婷婷久久久久| 白人荫道BBWBBB大荫道| 噜一噜在线| 国产精品五月丁香| 久热超碰91| 久草热8精品视频在线观看| 日日干夜夜干| 久热最新视频| 伊人久久五月天| 伊人大香蕉爱聚| 久久婷婷五月| 五月天色婷婷激情| 99热这是里只有精品| 影音先锋91资源站| 9色91视频| 婷婷九月激情| 亚洲天天综合| 玖玖资源部在线播放| 97婷婷狠狠久久综合9色| 国产成人精品一区二三区熟女在线| 深爱五月婷婷| 亚洲综合婷婷五月| www.超碰| www,超碰| 色五月综合激情网| 五月丁香啪啪| 丁香五月开心亚洲| 婷婷五月天男人影院色色网| 色色日韩| 182TV大香蕉| 久热精品免费视频4| 思思热在线视频精品| 色五月激情网| 久久这里有精品在线观看| 新久久五月天激情| 啪啪 综合网| 丁香花五月天婷婷成人社区| 色五月婷婷基地| 激情五月综合亚洲另类| 操逼棍操逼| ...婷婷国产成人亚洲日韩| 丁香色六月婷婷| 中文成人在线| 色99久草在线| 中文字幕欧美日韩VA免费视频| 97操在线视频| 亚洲人人操| 国产精品热搜丁香五月婷婷| 亚洲综合丁香五月| 都市激情久久| 五月天激情图片| 婷婷久久五月天中文字幕在线观看| 婷婷五月色播天| 免费无码毛片一区二区A片| 大香蕉婷婷五月天| 欧美日韩成人在线网| 婷婷五月天高清无码| 五月综合激情视频| 激情综合网,五月| 永久的网站AAAA | 丁香婷婷久久综合在线| 91蝌蚪窝视频在线| 国产毛多水多女人A片| 99热97| 老司机伊人| 亚洲第一黄网| 久99视频在线观看| 丁香五月婷婷偷拍| 五月激情在线| 综合久久五月天| 五月丁香婷婷成人综合网| 久99久热只有精品国产99| 夜夜噜夜夜奇| 日日天天操| 狠狠久久婷五月综合色| 色黑鬼导航| 最新日本A片| 欧美狠狠草| 综合五月草| 热九九在线| 秋霞电影一级黄| 久久婷婷五月综合97色一本| 99在线观看视频| 超碰九九热| 99操中文视频| 99精品在线| 思思99热这里只有精品| 色五月婷婷婷婷婷婷婷婷婷婷| 日韩一级片| 无码色色色色色| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 激情婷婷五月丁香啪啪啪| 狠狠干最新地址| 色婷婷色综合久久精品V| 思思干精品| 色综合女人99| 涩五月丝袜婷婷| www狠狠com| 九九狠狠干| 丁香婷婷五月综合色情| 99综合视频| 天天天天天天天干| 亚洲丁香五月深爱五月| 久久一二三视频| 婷婷五月天堂一本在线| 婷婷网五月天| 美女激情综合| 久久激情网| 粉嫩AV久久一区二区三区| 99re欧美精品| 色九九一二| 日本久久性| 97色色色色| 6月丁香婷婷激情| 五月丁香激情六月| 日本在线va| 站长推荐无码播放| 能看的AV| 激情五月婷婷视频| 欧美啪啪五月天| 久久九区| 五月香蕉婷婷| 深爱激情网综合| 97碰碰视频| 五月天另类激情在线| 免费观看全黄做爰的视频| 婷婷日韩| 五月婷婷影| 天天插综合在线| 欧美性爱5月天天天看| 五月天婷婷激情综合| 网色99| 亚洲亚洲人成综合网络| 9久9久9久女女女九九九一九| 91九色大屁股| 激情婷婷五月女| 91久久婷婷人人澡草| 日韩欧美成人片| 国产激情综合五月久久| 五月停视频天堂| www.久久99热地址发布| 伊人五月婷婷| 人人妻久久妻| wwwss在线观看| .青娱乐天天操B| 日本97在线| 欧美亚洲999| 色色色色色色色色网站| 婷婷久久综合久| 99精品丁香五月| 国产精品日日躁夜夜躁| 天天综合干| 色五月成人| 99精品成人无码A片观看金桔| 久久一操| 久久婷婷丁香五月一二三| 婷婷五月天激情诱惑| 日日干天天爽| 九九色插| 色色五月婷婷| 欧美色色色色色色色| 婷婷六月丁| 日韩一级| 性色人人爽| 综合激情站| 99九九久久| 亭亭玉月丁香| 69五月天视频| 丁香五月婷婷激情尤物| 噼里啪啦完整版中文在线观看| 黄久久久| 天天爽曰日爽| 99视频久久| 97超级碰碰碰久久久| 久久草人妻| 99热国产这里只有精品| 亚洲另类在线观看| 无码yw| 99精品久久久久久久婷婷久久| 色999五月色| 91VIP在线观看| 激情五月伊人婷婷| 六月婷婷啪啪| 久久久久久久久18久久| 婷婷丁香五月天综合AV| 婷婷 色 丁香 夜| 玩熟女五十AV一二三区| 超碰人妻在线| 丁香五月成人av| 午夜天堂一区人妻| 丁香六月啪啪啪| 热99AV网站| 国产AV一区二区三区最新精品| 久久久性爱视频| 五月丁香六月婷婷视频| 99精品网| 日韩性视频| 婷婷五月情| 激情文学综合婷婷五月天丁香花| 天堂A∨在线| 中文av网| 中文AV网站| 丁香五月婷婷色综合基地| 午夜丁香| 九九性爱网| 狠狠色噜噜| 大地资源色婷婷视频在线| 九九香蕉网| www.五月天婷婷| 久久五月婷综合网| 99.色| 丁香五月天激情| 91色五月| 99.N在线视频| 婷婷久久色| www国产亚洲色婷婷com| 亚洲成av人影院| 激情5月舔| 亚洲精品视频在线| 一起草无码| 深爱激情五月网| 丁香五月伊人| 日本在线噜噜| 99re热视频这里只精品| 丁香婷婷人妻| 久久综合九九| 九九九热精品| 99热在线观看精品| 狠狠色丁香久久| 色99视频| 91日精品| 色五婷婷开心缴| 五月色亭丁香| 欧美综合激情五月天| 婷婷丁香熟女| 五月丁香成人版| 成人精品视频99在线观看免费| 色综久久AV| 天天爽夜夜操| 欧美情月伍月天| 婷婷天天日婷婷| 久久婷婷五月综合| 色婷婷影院| 精品乱码视频| 99热只有这里有精品| 中文字幕在线免费观看视频| 91九色|疯狂|高潮|对白|| 丁香婷婷五月六月久久| 91婷婷在线| 色婷五月天| 五月丁香婷婷六月| 久热只有这里有精品| 五月开心网| 色激情综合狠狠婷婷| 五月婷婷色色| 婷婷九月激情网| 人人爽网| 欧美激情-区二区三区| 色婷婷狠狠久久综合五月| 99热精地址| 97热超碰| 日日日日日| 4399亚洲视频| 26uuu欧美日本| 丁香五月综合色婷婷| 国产国产乱老熟女视频网站97| www。五月天。com| 久久五月天影院| 丁香午夜天| 91久久综合亚洲噜噜成人在线| 丁香六月色婷婷| 五月总合激情网| 国产人妻人伦精品一区二区| 99色视频在线观看| chaopeng在线人人| 天天色天天日| 亚洲成人AV在线观看| 婷色五月天| 久久机热这里只有| 丁香六月天婷婷| 婷婷五月大香蕉| 九九色中文| 青草青草视频2免费观看| 五月久久丁香| 婷婷五月色惰| 色五月网址| 综合狠狠五月婷婷| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 天天综合网~91| 操人91| 97久久香草精品视频| 7777久久亚洲中文字幕| 婷婷久久精品| 婷五月天天| 性爱激情五月| 五月婷婷视频在线观看| 六月婷婷色综合| 性做爰A片免费视频A片直播| 日本91在线| 国内一级片| 妻久久人久久| 丁香五月激情棕合| 99热在线播放| 天天操综合网站| 99热在线精品播放| 精品一区二区三区免费毛片爱| 开心五月色婷婷综合开心网| 密乳Va| 激情婷婷五月天| 亚洲激情精品| 九九综合伊人| 怡红院AV亚洲一区二区三区H| 五月天亭亭俺也| 五月婷婷干干干| 中文字幕丰满乱孑伦无码专区| 中文色婷婷| 天天做天天要天天爽| 一本色道久久综合狠狠躁小说| 色婷婷电影网| 丁香五月a| 婷婷久久久| 丁香婷婷浪潮AV久久综合| 五月婷婷丁香| 99热久草| 色伊人婷婷| 天天干天天日蜜臀av| 色停停香蕉视频| 丁香五月 六月婷婷首页| 久久精品系列| 国产精产国品一二三在观看| 五月丁香啪啪啪| 婷婷综合五月激情| 五月丁香网站| 秋霞少妇AV网站| 婷婷五月电影院| 在热视频精品| 在线观看熟女少妇| 久久日韩婷婷五月| 亚洲婷婷五月天| 日本婷婷在线| 亚洲激情五月丁香久久久久| 亚洲熟女色| 久久婷婷五月综合色和| 丁香五月天激情综合| 婷婷五月丁香六月综合网| 蜜臀av无码久久久久久久久 | 色综合色综合色综合| 婷婷五月四狠狠| 91久久国产综合久久| 国产精产国品一二三在观看| 丁香 久久| 六月色丁香中文字幕| 亭亭玉立国色天香| 97碰人人操| 欧美日韩婷婷五月天| 99人人干| 婷婷久久丁香五月| 夜夜综合色| 久久久月丁香| 91精品久久久久久77777| 狠狠综合久久综合| 内射人妻视频国内| 久久久网站| 熟女激情五月天 | 亚洲国产色色| 久久99热这里| 久草A片| 91一道本| 2015在线中文字幕| 五月婷婷激情| 久久99网站| 99热在线观看| 青草激情综合| 综合五月天天天天天五月| 亚洲人妻av| 五月丁香网站| 69精品无码一区二区三区| 久久婷婷七月丁香| 嫩草AV久久伊人妇女超级A| 色五月六月|