亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Discuz! QQ登錄插件OAuth2.0授權(quán)回調(diào)與賬號綁定實(shí)戰(zhàn)

Discuz! QQ登錄插件OAuth2.0授權(quán)回調(diào)與賬號綁定實(shí)戰(zhàn) 簡介面向Discuz!論壇站長與社區(qū)運(yùn)營者的QQ快捷登錄插件改進(jìn)版2.4由北岸團(tuán)隊(duì)對原版登錄流程進(jìn)行優(yōu)化主要解決論壇注冊步驟繁瑣、QQ用戶轉(zhuǎn)化率偏低以及登錄入口兼容性不足等問題。壓縮包共61個文件整體約1MB內(nèi)含24個php文件承載授權(quán)回調(diào)、賬號綁定、安裝卸載與移動端登錄邏輯12個jpg和11個png用于界面與按鈕素材8個htm模板配合4個xml插件配置另有g(shù)if、html等輔助文件覆蓋PC與移動端接入場景。已有430人學(xué)習(xí)下載在Discuz!插件使用者中具備一定參考度。資料提供多編碼插件配置、QQ回調(diào)與會員綁定處理、移動端登錄類及幫助頁模板便于管理員按QQ互聯(lián)要求填入IDKEY后完成對接也方便開發(fā)者排查授權(quán)回調(diào)、賬號綁定和頁面展示問題減少從零改造登錄模塊的時間適合需要快速上線QQ登錄、減少重復(fù)開發(fā)的站長與二次開發(fā)者參考。1. 按鈕點(diǎn)下去白屏問題多半不在插件本身上周幫人看一個 DZ 論壇前臺 QQ 登錄按鈕點(diǎn)下去跳授權(quán)頁、點(diǎn)同意、回來一片白。站長說換過三套插件都一樣最后發(fā)現(xiàn)是回調(diào)地址末尾多了一個斜杠。這套 DZ QQ 登錄插件改進(jìn)版 2.4就是在反復(fù)踩這類坑之后攢出來的東西授權(quán)、回調(diào)、綁定、解綁四條鏈路收在一個插件目錄里后臺填好 appid 和回調(diào)地址就能跑適合還在用 Discuz! X3.4/X3.5 搭垂直社區(qū)、又不想讓新用戶卡在郵箱驗(yàn)證這一步的站長和二次開發(fā)者。下面按“鏈路怎么走—文件怎么放—參數(shù)怎么填—數(shù)據(jù)怎么寫—坑在哪”拆開講能抄的部分直接抄抄完把域名換成自己的就行。2. OAuth2.0 授權(quán)碼流程與插件目錄先把鏈路和文件看明白2.1 授權(quán)碼模式在這套插件里是怎么跑通的QQ 互聯(lián)走的是標(biāo)準(zhǔn)授權(quán)碼模式authorization code四步握手跳授權(quán)頁拿code、用code換access_token、拿access_token換openid、拿openid和 token 拉用戶資料。這四步里只有第一步是用戶在瀏覽器里完成的后三步全部在服務(wù)端用 curl 走所以插件真正容易出錯的地方全在服務(wù)端而不是前端按鈕。第一步的 URL 由插件主類拼出來邏輯大致是這樣?php // source/plugin/qqlogin/qqlogin.class.php 片段生成授權(quán)地址 $state substr(md5($_G[uid] . TIMESTAMP . random(8)), 0, 16); // state 同時落 cookie 和插件表回調(diào)時兩邊都要對得上 dsetcookie(qqlogin_state, $state, 600); C::t(#qqlogin#qqlogin_state)-insert(array( state $state, uid (int)$_G[uid], dateline TIMESTAMP, ), false, true); $params array( response_type code, client_id $this-appid, // 開放平臺分配的應(yīng)用 ID純數(shù)字 redirect_uri $this-callback, // 必須與開放平臺后臺登記的一字不差 state $state, // 防 CSRF也用來區(qū)分是哪個入口發(fā)起的 scope get_user_info, ); $authorize_url https://graph.qq.com/oauth2.0/authorize? . http_build_query($params);state這一段是整個流程里最容易被偷懶省掉的部分。省掉之后功能也能跑但你會丟掉兩樣?xùn)|西一是 CSRF 防護(hù)二是“這次登錄是從 PC 端還是手機(jī)端發(fā)起的”這個上下文。改進(jìn)版 2.4 把 state 存成了獨(dú)立表pre_plugin_qqlogin_state而不是塞進(jìn)$_SESSION原因是 DZ 的 session 在跨域回調(diào)回來時經(jīng)常已經(jīng)換了 session id尤其是站點(diǎn)開了 CDN 又沒做 cookie 透傳的時候讀 session 讀到空的概率相當(dāng)高。第二步換 token 的請求在callback.inc.php里參數(shù)順序不重要但redirect_uri必須和第一步完全一致連 URL 編碼方式都要一致。第三步取 openid 返回的是一段callback( {client_id:xxx,openid:yyy} );的包裹文本插件里統(tǒng)一加了fmtjson省掉正則解析這個細(xì)節(jié)后面第 3 章會用 curl 單獨(dú)驗(yàn)證。2.2 解包看目錄哪些文件在干活把壓縮包解開核心就是一個source/plugin/qqlogin/目錄外面還有一段后臺配置用的 XML。文件清單和職責(zé)對應(yīng)關(guān)系如下文件/目錄作用二次開發(fā)改動頻率discuz_plugin_qqlogin.xml安裝描述文件定義插件變量、模塊、鉤子掛載點(diǎn)低除非要加新配置項(xiàng)qqlogin.class.php主類繼承plugin_qqlogin管鉤子和入口分發(fā)高callback.inc.php回調(diào)入口處理 code、換 token、寫綁定高bind.inc.php首次登錄的綁定頁邏輯處理用戶名沖突中unbind.inc.php解綁清common_member_connect對應(yīng)記錄低table/table_qqlogin_state.phpstate 表的 DB 層封裝低template/按鈕模板、綁定頁模板、移動端模板中static/js/qqlogin.js彈窗與跳轉(zhuǎn)控制移動端 touch 綁定也在這里中看清這個結(jié)構(gòu)有個實(shí)際好處出問題的時候能立刻定位是“配置層”還是“代碼層”。比如授權(quán)頁能打開但回調(diào) 500問題一定在callback.inc.php之后按鈕點(diǎn)了沒反應(yīng)問題在static/js或模板跟 OAuth 一點(diǎn)關(guān)系都沒有。我一般排查前先做這個二分能省掉一半時間。discuz_plugin_qqlogin.xml里的var節(jié)點(diǎn)定義了后臺可見的配置項(xiàng)常見的就四個appid、appkey、callback、allownewuser。其中allownewuser控制“沒綁定過的 QQ 是否允許自動創(chuàng)建新賬號”社區(qū)類站點(diǎn)一般設(shè) 1內(nèi)部論壇建議設(shè) 0只允許已有賬號綁定防止外人隨便注冊進(jìn)來。2.3 安裝與后臺配置的落地步驟裝之前先備份source/plugin/和數(shù)據(jù)庫這一步別省。DZ 插件裝壞了會導(dǎo)致后臺應(yīng)用列表白屏恢復(fù)起來比重裝還麻煩。上傳和權(quán)限給到位# 在論壇根目錄執(zhí)行假設(shè)包已解壓到 /tmp/qqlogin cp -r /tmp/qqlogin/source/plugin/qqlogin ./source/plugin/ # 插件目錄給 web 用戶可讀可執(zhí)行不要 777 chown -R www:www ./source/plugin/qqlogin find ./source/plugin/qqlogin -type d -exec chmod 755 {} \; find ./source/plugin/qqlogin -type f -exec chmod 644 {} \; # 清一遍模板與緩存目錄避免舊緩存打架 rm -rf ./data/template/* ./data/cache/*命令本身沒什么玄學(xué)重點(diǎn)是最后那兩行。DZ 的模板緩存是按插件標(biāo)識緩存的第二次裝同標(biāo)識插件時如果不清理前臺很可能還是舊按鈕的 HTML你會誤以為是插件沒生效。chown也別圖省事用 777插件目錄里有 PHP 文件777 等于給人留了寫 shell 的口子。上傳完成后進(jìn)后臺「應(yīng)用 → 插件 → 未安裝插件」找到 QQ 登錄點(diǎn)安裝。安裝過程會建兩張表pre_plugin_qqlogin_state和綁定關(guān)系表。裝完在插件設(shè)置里填四個參數(shù)參數(shù)填什么常見填錯appid開放平臺應(yīng)用詳情頁的 APP ID純數(shù)字誤填成 APP Keyappkey應(yīng)用密鑰字母數(shù)字混合不要帶空格復(fù)制時帶進(jìn)了換行callback完整回調(diào)地址含協(xié)議和域名少了https://或末尾多了/allownewuser1 允許自動注冊0 僅允許綁定與站點(diǎn)注冊策略沖突填完必須點(diǎn)一次「更新緩存」DZ 的插件變量是緩存在pre_common_cache里的不更新緩存你改十遍后臺前臺讀到的還是舊值。這個坑我在第 5 章還會再提一次因?yàn)樗霈F(xiàn)頻率實(shí)在太高。最后一步是跑到前臺實(shí)際點(diǎn)一次。別用管理員賬號測管理員登錄會被 DZ 的connect邏輯特殊處理測出來的結(jié)果和普通用戶不一致。開一個瀏覽器無痕窗口用沒注冊過的普通身份走一遍完整流程能看到綁定頁、能填用戶名、能登錄成功才算真裝好了。3. 回調(diào)地址與 appid 配置三個參數(shù)決定成敗3.1 redirect_uri 的三處一致性校驗(yàn)回調(diào)地址是這個插件里最容易翻車的參數(shù)沒有之一。它同時存在于三個地方開放平臺后臺登記的授權(quán)回調(diào)域、DZ 插件后臺配置的callback、以及callback.inc.php里拼給 token 接口的那個值。這三處必須完全一致任何一處不同都會在換 token 那一步拿到error100010之類的返回?!耙恢隆钡呐卸ū榷鄶?shù)人想的嚴(yán)格。http和https算兩個地址帶www和不帶www算兩個末尾有沒有斜杠算兩個帶不帶非標(biāo)準(zhǔn)端口比如:8080算兩個。測試環(huán)境從http://test.xxx.com換到https://www.xxx.com三處都得改漏一處就白屏。我的做法是把這個地址做成唯一來源插件后臺填一次代碼里全部讀配置不硬編碼?php // callback.inc.php 開頭回調(diào)地址統(tǒng)一從插件變量取不做任何拼接 $this-callback $_G[cache][plugin][qqlogin][callback]; if (empty($this-callback)) { showmessage(qqlogin_callback_missing, , array(), array(handle false)); } // 換 token 時原樣帶上不 urldecode、不重新拼參數(shù) $token_url https://graph.qq.com/oauth2.0/token?grant_typeauthorization_code . client_id . $this-appid . client_secret . $this-appkey . code . urlencode($code) . redirect_uri . urlencode($this-callback) . fmtjson;注意urlencode只加在參數(shù)值上整個 URL 不能再編一次否則https://里的冒號和斜杠會被編成%3A%2F%2F服務(wù)端解出來是個壞地址。這個錯誤的表現(xiàn)很迷惑授權(quán)頁能正常打開因?yàn)榈谝徊綖g覽器會自動處理編碼只有回調(diào)那一步失敗很多人會誤判成 appkey 錯了。3.2 appid/appkey 與簽名參數(shù)appid和appkey一個是對外的身份標(biāo)識一個是對內(nèi)的密鑰性質(zhì)完全不同。appid出現(xiàn)在前端跳轉(zhuǎn) URL 里泄露了無所謂appkey只在服務(wù)端換 token 時用絕不能出現(xiàn)在任何前端可見的地方。我見過有模板把a(bǔ)ppkey寫進(jìn) JS 變量方便“調(diào)試”這等于把應(yīng)用密鑰公開了。state的校驗(yàn)邏輯也在這層。改進(jìn)版 2.4 用“cookie 數(shù)據(jù)表”雙份比對?php // 回調(diào)第一件事校驗(yàn) state兩個來源必須同時命中 $state isset($_GET[state]) ? trim($_GET[state]) : ; $cookie_state isset($_COOKIE[qqlogin_state]) ? $_COOKIE[qqlogin_state] : ; if (empty($state) || empty($cookie_state) || !hash_equals($cookie_state, $state)) { showmessage(qqlogin_state_invalid, , array(), array(handle false)); } // 命中后立刻刪掉state 一次性使用 C::t(#qqlogin#qqlogin_state)-delete_by_state($state); dsetcookie(qqlogin_state, , -1);用hash_equals而不是是防止時序攻擊雖然在這個場景下風(fēng)險很低但成本幾乎為零沒理由不用。刪除也必須在校驗(yàn)通過后立刻做否則同一個 state 可以被重放攻擊者拿到一次回調(diào) URL 就能反復(fù)觸發(fā)綁定動作。access_token的緩存策略也值得說一句。token 默認(rèn)有效期 90 天refresh_token30 天內(nèi)可以續(xù)期。插件把 token 存在common_member_connect.conuintoken里每次登錄前先查有沒有可用 token沒有才重新走授權(quán)。這樣用戶第二次點(diǎn)登錄時是靜默的不會反復(fù)彈授權(quán)頁。但要注意用戶在開放平臺那邊“取消授權(quán)”之后本地緩存的 token 會失效插件必須能識別error100016這類返回并清掉本地記錄否則用戶會卡在“點(diǎn)了沒反應(yīng)”的狀態(tài)里出不來。3.3 用 curl 先跑通授權(quán)鏈路再回插件排查這類問題我習(xí)慣先繞開 DZ 和瀏覽器用 curl 把手動流程走一遍。這樣能明確區(qū)分是“平臺側(cè)配置問題”還是“插件代碼問題”。# 變量先準(zhǔn)備好值從插件后臺和開放平臺后臺抄過來 APPID你的appid APPKEY你的appkey REDIRECT_URIhttps://bbs.example.com/plugin.php?idqqlogin:callback CODE瀏覽器回調(diào)地址里 code 后面的那串 # 第 2 步code 換 token curl -s https://graph.qq.com/oauth2.0/token?grant_typeauthorization_codeclient_id${APPID}client_secret${APPKEY}code${CODE}redirect_uri${REDIRECT_URI}fmtjson # 第 3 步token 換 openid curl -s https://graph.qq.com/oauth2.0/me?access_token${ACCESS_TOKEN}fmtjson # 第 4 步拉用戶資料看 nickname 能不能取到 curl -s https://graph.qq.com/user/get_user_info?access_token${ACCESS_TOKEN}oauth_consumer_key${APPID}openid${OPENID}第二步返回里如果帶error基本可以斷定是三處redirect_uri不一致把返回的error_description讀一遍比在插件里瞎猜快得多。第三步返回openid說明 appkey 是對的。第四步返回的nickname里可能帶表情符號DZ 的老表結(jié)構(gòu)是utf8不是utf8mb4直接入庫會把表情截斷甚至報錯插件里做了strip_emoji過濾這個在第 4 章會講到。code是一次性的有效期很短通常幾分鐘。如果第二步報code expired回瀏覽器重新點(diǎn)一次登錄拿新 code 就行別對著舊 code 反復(fù)試。curl 驗(yàn)證通過之后再回插件點(diǎn)一次如果插件還是失敗而 curl 成功問題就一定在插件的代碼路徑上重點(diǎn)看callback.inc.php有沒有對參數(shù)做了多余處理。4. 賬號綁定與用戶表寫入從 openid 到 uid 的落地邏輯4.1 connect 表與 common_member 的對應(yīng)關(guān)系OAuth 鏈路走通只是拿到身份真正把“這個 QQ 是誰”落到“這個人是論壇的哪個 uid”靠的是common_member_connect這張表。它和common_member是一對一關(guān)系uid做主鍵conopenid上必須有唯一索引CREATE TABLE IF NOT EXISTS pre_common_member_connect ( uid int(10) unsigned NOT NULL, conisbind tinyint(1) unsigned NOT NULL DEFAULT 0, conopenid char(32) NOT NULL DEFAULT , conuin char(40) NOT NULL DEFAULT , conuintoken char(32) NOT NULL DEFAULT , conqqnick varchar(100) NOT NULL DEFAULT , condeletetime int(10) unsigned NOT NULL DEFAULT 0, PRIMARY KEY (uid), UNIQUE KEY conopenid (conopenid), KEY conisbind (conisbind) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;conopenid上的唯一索引不是可選項(xiàng)。缺了它并發(fā)情況下同一個 QQ 可能綁出兩個 uid用戶下次登錄隨機(jī)命中其中一個表現(xiàn)為“我的帖子怎么少了一半”。conuintoken存的是 access_token注意長度給夠別用char(16)這種拍腦袋的長度。condeletetime是軟刪除標(biāo)記用戶解綁時不物理刪除記錄只置這個字段。這么設(shè)計的原因是防止“解綁后馬上重綁”觸發(fā)唯一索引沖突同時也留了一條審計痕跡。真要徹底清理由定時任務(wù)處理超過一定天數(shù)的記錄。4.2 綁定、解綁與重名沖突的處理代碼首次登錄的判斷順序很關(guān)鍵必須“先查 openid再決定是登錄還是注冊”?php // callback.inc.php拿到 openid 之后的核心分發(fā)邏輯 $openid daddslashes($openid); $bind C::t(#qqlogin#qqlogin_bind)-fetch_by_openid($openid); if ($bind $bind[uid]) { // 已綁定直接寫登錄態(tài)更新 token C::t(#qqlogin#qqlogin_bind)-update_token($bind[uid], $access_token); setloginstatus(array(uid $bind[uid], username $bind[username]), 2592000); showmessage(qqlogin_succeed, dreferer(), array(), array(handle false)); } // 未綁定allownewuser 為 0 時直接拒絕 if (!$_G[cache][plugin][qqlogin][allownewuser]) { showmessage(qqlogin_not_bind, , array(), array(handle false)); } // 允許注冊則跳到綁定頁由用戶確認(rèn)用戶名 include template(qqlogin:bind);setloginstatus的第三個參數(shù)是 cookie 有效期單位秒2592000是 30 天。這個值別設(shè)太長社區(qū)類站點(diǎn)一般 7 到 30 天比較合適。重名沖突發(fā)生在自動注冊那一步。QQ 昵稱里有大量重復(fù)直接拿昵稱當(dāng)用戶名注冊第二次就會撞common_member的用戶名唯一索引。插件的做法是加后綴遞增?php // bind.inc.php用戶名去重最多試 20 次 $base preg_replace(/[^\x{4e00}-\x{9fa5}a-zA-Z0-9_]/u, , $nickname); $base $base ? qquser : mb_substr($base, 0, 12, UTF-8); $username $base; for ($i 1; $i 20; $i) { if (!C::t(common_member)-fetch_by_username($username)) { break; } $username $base . _ . $i; } if ($i 20) { showmessage(qqlogin_username_conflict, , array(), array(handle false)); }preg_replace那行把昵稱里的表情和標(biāo)點(diǎn)全部濾掉只留中文、字母、數(shù)字、下劃線。不過濾的話utf8表直接報Incorrect string value。mb_substr限長 12 是照顧 DZ 默認(rèn)用戶名長度限制改過站點(diǎn)配置的按自己的來。4.3 老用戶遷移把歷史賬號掛到 openid 上站點(diǎn)從別的方式切過來時會有一批“已經(jīng)在論壇注冊過、但沒綁定過 QQ”的老用戶。這批人第一次點(diǎn) QQ 登錄會走到注冊分支結(jié)果多出一個新賬號帖子還在老賬號上用戶會直接罵人。處理辦法是在綁定頁給一個“已有賬號”入口讓用戶輸入用戶名密碼驗(yàn)證一次驗(yàn)證通過后把 openid 掛到老 uid 上-- 遷移腳本把已知對應(yīng)關(guān)系的用戶批量補(bǔ)綁定記錄 INSERT INTO pre_common_member_connect (uid, conisbind, conopenid, conuin, conuintoken, conqqnick, condeletetime) SELECT m.uid, 1, t.openid, , , t.nickname, 0 FROM pre_common_member m INNER JOIN pre_plugin_qqlogin_migrate t ON t.username m.username WHERE m.uid 0 ON DUPLICATE KEY UPDATE conisbind 1, conqqnick VALUES(conqqnick);ON DUPLICATE KEY UPDATE讓腳本可以重復(fù)跑跑第二遍不會報主鍵沖突也不會把已有記錄改壞。pre_plugin_qqlogin_migrate是臨時對照表跑完就刪。執(zhí)行前先在從庫或者備份上跑一遍SELECT版本確認(rèn)行數(shù)和預(yù)期對得上血淚經(jīng)驗(yàn)是這類腳本一定要先看結(jié)果再落庫。5. 避坑與排查五條踩坑記錄現(xiàn)象一回調(diào)后整頁白屏日志里沒有任何 DZ 報錯。原因通常是 PHP 致命錯誤被display_errors關(guān)掉了或者插件文件帶 BOM 頭導(dǎo)致headers already sent。解決臨時在config/config_global.php里開$_config[debug] 1去data/log/下看當(dāng)天的xxx_log.phpBOM 用grep -rl $\xEF\xBB\xBF source/plugin/qqlogin/一次就能找出來批量轉(zhuǎn)成無 BOM 的 UTF-8?,F(xiàn)象二授權(quán)頁能打開點(diǎn)同意后回到站點(diǎn)提示參數(shù)錯誤。原因是三處redirect_uri不一致或者callback參數(shù)被二次 URL 編碼。解決按第 3 章的辦法先用 curl 單獨(dú)驗(yàn)證看返回的error_description。改完配置記得更新緩存插件變量讀的是緩存不是數(shù)據(jù)庫?,F(xiàn)象三用戶每次點(diǎn)登錄都變成新注冊賬號越積越多。原因是common_member_connect缺conopenid唯一索引或者判斷邏輯寫反了先查 uid 再查 openid。解決先SHOW INDEX FROM pre_common_member_connect確認(rèn)唯一索引在再檢查callback.inc.php的分支順序必須是 openid 優(yōu)先。已經(jīng)產(chǎn)生的重復(fù)賬號要按 openid 分組人工合并別寫腳本自動刪?,F(xiàn)象四PC 端正常手機(jī)端點(diǎn)了完全沒反應(yīng)。原因多半是模板里按鈕綁的是click事件而移動端瀏覽器在某些情況下會吞掉這個事件另一種是本站已全站 HTTPS但插件模板里硬編碼了http://的跳轉(zhuǎn)地址被瀏覽器按混合內(nèi)容攔掉。解決事件改成touchstart和click都綁檢查模板里所有 URL 是否走$_G[siteurl]。用手機(jī)瀏覽器遠(yuǎn)程調(diào)試看一眼 Console有沒有 blocked 提示一目了然?,F(xiàn)象五換了域名或上了 HTTPS 之后所有老用戶全部掉登錄。原因是 cookie 域、后臺站點(diǎn) URL、開放平臺回調(diào)三處沒同步導(dǎo)致 state 校驗(yàn)失敗或者 token 換不出來。解決換域名時把這三處列成清單逐項(xiàng)改改完讓用戶重新授權(quán)一次。這一步?jīng)]有后悔藥唯一的辦法是換域名前就做好清單。6. 移動端與模板兼容的進(jìn)階調(diào)優(yōu)一次回歸驗(yàn)證清單改完模板和綁定邏輯之后別急著放開給用戶用。我一般跑一遍固定清單把六種組合都點(diǎn)一遍任一項(xiàng)不對就不上線場景預(yù)期結(jié)果重點(diǎn)檢查PC 未登錄點(diǎn)按鈕跳授權(quán)頁回來進(jìn)綁定頁state cookie 是否寫入成功PC 已綁定用戶點(diǎn)按鈕靜默登錄不彈授權(quán)頁conuintoken是否被復(fù)用手機(jī)瀏覽器點(diǎn)按鈕跳轉(zhuǎn)或喚起授權(quán)回來正常按鈕事件綁定、siteurl協(xié)議微信內(nèi)置瀏覽器打開至少給出明確提示不白屏UA 判斷分支是否存在已綁定用戶解綁再綁能正常解綁重綁不報沖突軟刪除字段是否生效后臺關(guān)閉自動注冊新用戶看到提示而非報錯allownewuser分支模板這塊改動最小、收益最大的一個點(diǎn)是按鈕的降級。移動端很多時候喚起授權(quán)會失敗如果沒有兜底用戶看到的就是一個死按鈕!-- template/qqlogin/button.htm移動端同時綁 touchstart 和 click防止事件被吞 -- a href{$qqlogin_url} classqqlogin-btn idqqloginBtn relnofollow span classqqlogin-icon/spanQQ 登錄 /a script typetext/javascript var btn document.getElementById(qqloginBtn); var jumping false; function go(e) { if (jumping) { return; } jumping true; if (e e.preventDefault) { e.preventDefault(); } window.location.href btn.getAttribute(href); } btn.addEventListener(touchstart, go, {passive: false}); btn.addEventListener(click, go, false); /scriptjumping這個標(biāo)志位防的是移動端同時觸發(fā)touchstart和click導(dǎo)致連跳兩次第二次帶上來的 state 已經(jīng)失效用戶看到的就是一次莫名其妙的白屏。{passive: false}是為了在touchstart里能調(diào)preventDefault不加的話部分瀏覽器會忽略這個調(diào)用。還有一個容易被忽略的細(xì)節(jié)relnofollow。登錄入口被搜索引擎爬到會產(chǎn)生大量無效的授權(quán)頁索引加上這個屬性省事。最后說個習(xí)慣。這套插件我從第一版跟到現(xiàn)在每次升級前都會做同一件事把當(dāng)前source/plugin/qqlogin/整個目錄打包留一份命名為qqlogin_日期_版本.rar放到獨(dú)立目錄然后才動手覆蓋。因?yàn)椴寮壥r后臺應(yīng)用列表會直接白屏進(jìn)不去后臺就沒法回滾只能靠文件覆蓋回去。這個習(xí)慣讓我至少兩次在十分鐘內(nèi)恢復(fù)了一個正在做活動的論壇。從那以后我每次動插件目錄都強(qiáng)制走一遍“打包—記錄改動點(diǎn)—再覆蓋”的流程希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲精品 欧美精品| 91亚洲欧美激情| 久久极品一区二区| 欧美亚洲美少妇一区二区| 天天看片天天爽| 国产欧美黑人丰满在线| 精品久久久久久亚洲| Aa东京男人的天堂| 天天色天天干天天爱| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 开心五月婷婷激情| 日韩欧亚中文在线| 亚洲国产成人7777| 内射中出日韩在线观看视频| 被男人吃奶很爽的毛片| 狠狠亚洲| 逼逼逼逼操操操操操操操操操午夜剧场 | 狠狠干91| 97色伦欧美| 精品人妻一区二区三区不卡断 | 91综合中文字幕| 亚洲操人| 久久香蕉国产线看观看亚洲女人| 热九九精品| 日韩电影中文字幕| 在线黄页看毛片| 天天做天天爱| 九九九九日本| 岛国大片在线观看网站入口| 中文字幕神马久久| 久久久久久久国产视频| 97超碰公开| 久热99| 国产精品一区二区三| 婷婷激情五月| 色就色综合| 97天天插| 国产精品小视频一区二区三区| 久久日本熟妇熟色一区| 欧美一级欧美三级在线观看| 在线播放成人高清免费视频| 1024午夜激情男人的天堂| 色色色色网站| 1769一区| 秋霞鲁丝午夜无码一区二区三| 丁香五月综合| 青青草福利视频| 亚洲中文字幕乱码无码一区二区| 婷婷丁香五月天亚洲天堂网| 亚洲欧美日韩制服另类| 日韩av色图| 亚洲乱熟女一区二区三区大香蕉| 久久久久久久9| 天天综合日韩网| 亚洲综合另类小说色区亚洲成av人片在www | 亚洲AV操| 97碰久久| 久久久久斤小| 亚洲欧美另类少妇精品| 深夜激情无码| yw尤物av无码点击进入麻豆| 懂色av中文字幕一区二区三区天美| 五月天开心网| 婬女免费一二三区A片| 无码二级三级| 久热99999| 日韩传媒在线| 激情婷婷| 久干9操| 午夜精品久久久久久久久久久久久| 欧中日成人免费影视| 岛国黄| 青青草好吊色| 欧美一品道| 亚洲情色婷婷五月天| 国产精品久久久久久无码红治院| 国产精品久久久 | 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 欧美手机在线综合| 97视频在| 国产青一二三| 大香蕉520| 91久久精品中文字幕| 一本久道久久综合狠狠爱一密臀精 | 青娱乐亚洲自拍| 91人妻少妇| 少好三P| 亚洲激情色片 | 日韩成人性爱AV| 国产亚洲色停停久久99精品91| 国产高清在线自在拍69| 欧美亚洲AN| 91久久久久久久久久久| 伊人色综合超碰| 亚洲无码99| 黄页网站免费高清在线观看| 淫荡熟女乱伦网| a片自拍直播视频| 97中文热色| 热热色青青草| 亚洲中文字幕av | 亚洲偷拍自拍在线视频| 亚洲一区二区 麻豆传媒| 亚洲日产专区| 亚洲高清无码AAA久久久精品| 天天激情综合站| 久久精品人妻一区二区| 日本三级黄页| 极品色www影院| 天天爱天天韩国日本牛牛牛牛| 大香蕉伊人久久| 九九九热| 黄色片大香蕉| 91激情网| 十八禁av无码免费网站APP| 九九九九九用不成了| 青青草国产盗摄一二三区| 天天影视网综合少妇| 大香蕉520| 亚洲精品九九九| 婷婷五月天色网| 爱丝福利| 亚洲天堂资源在线| 欧美色另类| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 91九九| 综合久久久久久久综合网| 中文字幕日韩人妻视频| 国产18精品亚洲精品| 中文字幕av乱伦| 欧美激情中文字幕另类小说| 99色在线观看| 精品一区二区三区蜜桃臀赵总| 色99色| 九九九九久久久| 97久久超碰国产网站| 国精品一区二区三| 国产懂色精品国产av| 日韩精品色呦呦| 日韩性爱毛片操骚逼| 蜜桃视频成a人v在线| 亚洲婷婷丁香在线| 日本成a人v网站在线观看| 日本性感人妻91| 伊人网青青| 亚州操逼图| 一级黄色牲爱A级片| 亚洲中文字幕网| 久久香蕉国产传媒一区剧情天美| 精品视频97| 区二区亚洲婷| 一区二区视频在看| 欧美gv在线观看| 亚洲第2页| 色综合五月天| 亚洲日产专区婷婷| 人人操人人摸人人看人人插| 九九综合| 日韩中文字幕av在线播放| 欧美一区二区三熟女剧情| 人妻精品一区二区三区| 日本天天操| 天天色播| 91久久国产综合精品| 综合欧美色图| 国产亚洲欧美每日在线| 好吊色一区| 亚洲AV色图一区| 97欧美超碰| 91东京热男人的天堂| 我爱大香蕉| 白丝AV网站| 天天影视综合色| 欧美激情在线观看视频| 亚洲 无码 偷拍| 狠狠狠一区二区三区| 天天看天天在线精品| 亚洲强奸乱伦影视网| jiujiujiujingpin| 色欲Av人妻精品一区二| 综合av影片| 加勒比在线视频一区二区三区| 制服丝袜第二页| 亚洲图片第一页| 成人精品一区二区91毛片不卡| www超碰| 91天堂视频| 香蕉99秘 一区精品蜜桃臀| 亚洲一曲日韩精品| 亚洲一二三四区机械| 嗯嗯嗯啊啊在线观看| 精品日韩中文在线| 少妇500双飞99| 日韩av性爱在线播放| 欧美成人性爱视频大全| 亚洲色图自拍| 亚洲国产av中文字幕久久| 96AV精品| 亚洲狠狠入| 国产中文字幕曰本毛片| 午夜毛片高清免费不卡| 秋霞操逼片| 天天干,夜夜爽| 国产外初女出血视频| 另类图片欧美激情综合| 黄色成品网站| 国产内射爽爽大片| 日日骚 av| 日产欧美电影一区二区三区| 久久手机视直播| 欧美精品庄| 五月丁香婷婷色| 亚洲好色人妻| 99久久综合网| 91 天天综合| 五月天啪啪| 国产熟码AV| 久久美女福利是上海美女| 九九九热精品| 凹凸视频特色日本特黄| 91搡老女人老妇女老熟女歌词翻译| 亚洲 日本 一 二 三| 亚洲另类色综合网站| 亚洲黄网在哪免费看| 97一区二区三区视频| 亚洲第一狼人丝袜美女另类| 久久99999| 国产精品嫩草影院免费| 91丝袜美腿片| 色色无码| 岛国A V在线免费看| 人妻熟女一区二区三区在线| 草草影院日本第一页| 91强在线播放| 天堂种子在线www网资源| AV女资源| 伊人97超碰| 性饥渴少妇av无码毛片| 亚熟hd视频在线| 韩国一级做A片免费的| 欧美草草| 91丝袜美女| 国产兽交视频在线播放| 国产人人干| 一类无码操逼视频| 蜜屁av| 日韩AV一区二区三区三州三州| 国产极品粉嫩馒头一线天av| 97国产中文| 激情婷婷五月天| 沈阳熟女高潮对白视频| 97精品国产手机| 99色色网| 可以免费看黄片的视频| 91九色丰满高潮| 欧美性特| 激情色色| 日韩一级成人毛片免费观看| 好色综合| 校园春色家庭伦理欧美激情| 国产夜夜艹| 欧美日韩亚洲一区二区在线观看| 天天欧美| 超碰免费欧美7| 欧美色五月| 秋霞一集毛片观看| 亚洲一区二区AV| 上床不卡网站| 超91综合网| 黑人狂躁日本妞一区二区三区| 熟妇一区二区| 欧美一区二区传媒| 插入综合网| 爱av免费| WWW啪啪的com| 中文乱码字字幕在线第5页| 神马久久啊啊| 韩国女主播青草在线| 一,爱啪啪,在线免费视频| 网友自拍第一页| 99热18这里只有精品| 老女人爆菊| 粉嫩av在线一区二区| 亚洲国产精品成人综合| 久久区| 中文字幕日韩情色| 青娱乐蜜桃臀AV色婷| 亚洲天堂男人在线| 午夜福利成人免费视频| 欧美性巨大╳╳╳╳╳高跟鞋| 99rre在线精品99re8| 欧美熟女丝袜| 99国产精品免费| 久久9亚洲| 嗯嗯啊在线视频| 色色综合网站| 丁香六月啪| 91成人精品在线播放| 国产日韩色综合| 久久精品国产亚洲AV清纯| 男人天堂2030| 国产sv美女内射| 桑老女人九区| 欲香欲色综合天天伊人| 精品传媒在线一区| 不卡视频一区蜜桃视频| 亚洲国产综合图区中文字幕| 嗯嗯啊啊操我| 天天日天天操天天射河南省| 天天天乱色综合全| 日本一区二区三区精品| 又大又白奶子| 亚洲人妻在线一区| 99久久久久久亚洲精品不卡| 98人妻精品一区二区色欲| 中国少妇啪啪视频| 欧美色涩| 97在线欧| 国内成人圈中文字幕无码视频| 男人的天堂日本东京热| 素人无码中文字幕| 五十路人妻在线| 久久视频,这里只有精品 | 韩国黄色片精品久久久| 91精品久久久久久77777| 精品一区二区人妖| 激情自拍 校园春色| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 操熟女91| 国产亚洲99久久精品熟| 黄色一区二区秘书性感| 中文字幕一区二区三区视频播放| 91N欧美| 性爱av网站| http://qxhbdz.com| 超碰夫妻97| 中文熟女五十乱码在线| 超碰欧美| 久久成人午夜精品影院| 99热综合| 久草精品国产蜜臀 | 久久东京国产精品视频| 性色中出| 国产91专区| 中文字幕丝袜| 人人人摸人人| 欧美日韩香蕉| 91人妻视频在线| 精品久久大胆人体| 淫荡网址| 国产乱伦性爱AV| baisiav| av久日| v91av| 色嗨嗨在线| 亚洲操操| 久久成人精品| 在线观看亚洲成人精品| 久9视频| 欧美色图偷拍另类| 噜噜噜噜久久久精品免费| 亚洲无码国产精品久久| 男人的天堂在线2| 少妇xx精品| 91第一页| 伦理弟一页| 一本大道久| 亚洲日本激情| 99色在线| 欧美肥臀在线| 久久黄色性爱视频| 热久久九九热| 91网站18禁| 日韩一级欧美一级在线观看| 中文字幕 一区二区 亚洲无码| 久欲AV| 黄站在线免费观看| 成人五月天丁香激情综合| 日本成a人v网站在线观看| 国模艳艳啪啪一区| 97超久碰| 男人的天堂2019| 天天日天天爽| 91精品国产91久久久久久久久久久久| 日韩中文字幕人妻视频| 欧美97在线观看| 青娱乐二区免费| 亚洲 欧美 91| 久久大| 乱伦1色页| 欧美伦乱爱| 日韩日本欧美在线观看| 另类综合另类| 三级日韩一区二区三区| 十八禁网站在线| 精品人妻一区二区三区在线视频不卡| 亚洲国产成人高清在线| 欧美瑟综合| 欧美性爱www免费版| 久久婷婷亚洲欧| 天天操夜夜操狠很操| 91在线视频免费中出| 天天综合97| 亚洲天堂区| 五月天亚洲色图| 久久久中文版| 亚洲色图欧美色图制服丝袜| 欧美色图亚洲色图成人在在线| 国产精品96久久久久久| 天天干夜夜鈤| AA丁香综合激情| 久久日本熟妇熟色一区| 国产伦精品免编号公布| 九九热久久99精品re| 中文字幕 国产区| 天堂男人网| 95精品在线| 97国产人人| 精品国产99| 欧美男人亚洲天堂| 东京热免费视频| 久久久久国色αv免费观看| 神马久久久久眼| 欧亚无码视频| 激情情色五月天| 美女自卫慰黄网站免费| 黑人精品一区二区在线播放| 99色热| 亚欧美综合网| 天天综合~91入口| 日韩一级性爱无码| 国产sv美女内射| 大稥蕉免费视频这里只有精品| 精品人妻一区二区三区四区石在线| 人妻一区久久二区三区色播| av在线一区二区三区| 久久网亚洲| 婷婷情色综合网| 成人精品一区二区91毛片不卡| 亚洲天堂久| 内射日韩大臀美女| 探花在线免费观看视频国产一区| 乱欲视频| 91精品国产长腿丝袜美女| 另类综合另类| 国产AV色黄看到爽| 久久 精品| 欧美中字不卡| 人妻少妇蜜桃视频欧美一区| 国产探花日韩援交| 欧美热图99| 插老姨肥穴| 99精品久久久久久久婷婷蜜桃| 欧美日韩国产成人高清| 99热线麻豆| 日韩精品99久久久久久中文字幕| 久久久98网站免费视频| 成人 日本A片无码8888| 国产精品3| 国产日韩欧美三级片| 欧美18老人禁| 成人久久久精品| 中文伊人大香蕉视频| 青娱乐亚洲自拍| 亚洲中文字幕在线视频一区二区| 欧美视频一区二区三区| 色偷综合| 91综合国产精品| 91蜜臀在线久久久久| 久久久久国产无av| 国产精品探花色| 少妇久久| 综合久久9| 久操免费电影| 国产精品一二三| 嗯嗯啊啊视频一区二区三区| 亚洲国产剧情少妇激情| 色嘟嘟人妻天堂网| 一区二区你上我| 国产熟女免费观看久久| 欧美亚洲第一页| 99这里只有精品国产| 亚洲成人贴图| 少妇久久久| 操逼999| 后入美女国产| 五月天激情小说网| 9 9精品一区二区三区| 色综合网1| 美女极品一区二区三区| 欧美强奸乱| 尤物黄色在线观看网站| 精品高清一区二区三区三州| 中文字幕熟女人妻丝袜| 国产精品香蕉| 亚洲啪啪视频免费| 人妻二区| 天堂中文日本在线观看| 黑人猛交| 国产视频一区二区三区在线免费观看| 操逼www.| 欧美亚洲中文字幕| 狠狠综合网| 国产av尤物| 天天干一区二区| 伊人久久国产免费观看视频| 欧美日韩婷婷中文| 欧美洲精品一级| 欧美色图自拍| 97爱综合| 国产一区二区成人av在线播放| 亚洲精品成人动漫在线| 在线人人人人人人精品超 | 欧美亚洲一区二区久久久婷精品大包诱| 亚洲色图20p| av情色影音| 在线情色电影 91大| 日韩操呦呦影院在线观看| 91熟女视频网| 九月伊人中文字幕| 国产精品 久久久精品一牛| 国产精品一区二区三区,亚洲综合| 亚洲第一黄色av网站| 大香蕉黄色一区| 婷婷色导航| 精品人妻一区二区三区-国产精品| 91网站18在线| 四虎影视国产精品| 思思热在线视频在线| 国模私拍一区二区三区神乳| 狠狠色综合网| 天美传媒av 在线| 久9久精品视频| 国产区在线| 国产精品高潮久久久无码| 国产区91柔拿会所技师| 视频二区美腿丝袜制服人妻欧美 | 中文字幕 码 自拍 视频 区| 国产白领连续中出在线观看| 亚洲色欧| 日B操| 欧美国产日韩高清在线| 青青草伊人久久| 男人的天堂kva| 九九热久久99精品re| 凸凹视频在线观看| 操人妻逼91| 夫妻日逼| 亚洲最新中文字幕免费| 欧美日日夜夜| 久久精品区| 一区二区三区免费岛国片| 97中文天堂| 99久久久| AV免费在线播放一区| 黄色一区二区秘书性感| 亚洲综合小说另类图欧美视频激情小说色五月天 | 91情色在线| 日韩熟女乱伦中出| 麻豆国产av网| 夜夜高潮夜夜爽夜夜爱爱一区 | 熟女人妻一区二区三区| 国产第25页在线观看| 欧美色图中文字幕| 91中文字幕在线观看| 成人免费看吃奶视频网站| 婷婷情色综合网| 日韩射图| 亚洲综合一区二区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 2020中文字幕| 欧美日韩不卡传媒| 图片区小说区| 97频视在线| 性饥渴少妇av无码毛片| 色呦呦、国产精品| 久久精品—区二区三区内射| 五月天激情婷婷| 精品国产国产AV| 成人97人人超碰人人| 亚洲最大黄网| 啊啊啊草死我| 国产精品青青草| 久久久三区二区一区| 四虎影视永久在线免费| 色男人色天堂东京热| 精品久久久久久中文字幕三区| 美女淫穴| 肏逼福利网站| 欧美熟妇乱码在线一区| 精品一区二区三区国产| 亚洲中文人妻色| 日本 欧美 亚中文字幕| 国产中文字幕在线| 欧美亚洲日本激情在线| 欧美少妇第一页| 天天视频网站黄| 九九九综合精品| 国产精品白领在线观看| 亚洲大色堂| 天天操天天射天天日| 天天看高清麻豆| 人妻乱仑一区二区三区| 综合天天。| 久久久激情| 国产熟妇 码视频户外直播| 欧洲天天在线| 国产黄色在线播放观看| 欧美日韩99精品麻豆传媒| dy888午夜老子影视达达兔| 国产农村妇女精品一| 亚洲AV成人精品网站在AV| 99re69| 中文在线久久字幕| 亚洲欧美在线观看免费| 人妻夜夜爽天天爽麻豆三区网站 | 成人av免费观看| 亚洲色欲一区二区三区| 少妇无码999| 久久极品一区二区| 99re这里只有精品中心播放 | 久久蜜桃综合网| 伊人久久蜜月| 久久国色天香香蕉| 99re9在线| 好属操| 丁香五月激情综合国产| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲天堂日本| 熟女精品一区二区三区| 婷婷av在线中文字幕| 久久精品视频一区三区小泽玛利亚| 把腿张开老子CAO烂你| 欧美色图20p| 久久m| 五月天久久久| 久操凹凸视频| 欧州91高潮| 超碰地址97| 伊人久久婷婷| 一区二区精品日韩欧美在线观看 | 桃色六月天| 夜色AV无码手机在线影院| 综合激情一一91| 91色综| 免费伦费视频在线观看| 熟女人妻精品一区二区视频 | 天天综合影院91| 午夜舔阴达高潮视频免费看| 天天草AV| 最新一二三区视频| 五月丁香影院| 免费啪啪一级视频| 国产精品探花色| 亚洲欧美清纯| 久久久久久少妇| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 中国国国产一级特黄毛片| 亚欧成人一级片在线播放| 日韩电影天堂视频一区二区| 夜夜肏2021| 久久婷婷亚洲| h4610国产人妻| 婷婷色色五月天福利| 综合网少妇| 国产精品色| 二级久久网| 亚洲欧美综合色| A片 AV一级在线播放观看免费| 欧美性爽xyxOOOO| 97亚洲在线| 欧美淫乱视频| 97伦乱| 少妇极品熟妇人妻无码| 蜜臀av中字字幕网站| 任你爽视频| 99热最新| 国产免费一区在线观看| 牛黄色久午久| 欧美亚洲| 久久久96| 99婷婷一区二区| 天天92av| 校园春色综合网| 中文 人妻 制服| 黑人精品欧美一区二区蜜桃| 91老熟女91老女人| 国产精品夜夜夜| 97超碰超欧美。| 久久久91福利姬| 美女91色黄18| 中文字幕欧美日本乱码一线二线 | 人人看欧美性爱| 色网色网色网色网色网色| 欧美影音在线| 欧美激情久久久久| 中文字幕精品三级久久久| 人妻激情在线视频| 青青草在线视频美女| 欧洲精品久久| 91碰碰| 疯操AV| 日韩精品人妻中文字幕不卡乱码| 九久久精| 探花精品 一区二区| 操一操摸一摸| 亚洲国产欧美另类自拍| 日韩av不卡在线观看| 国产精品一二三区18| 人妻一区二区三区视频 | 亚洲久久久久| 最新欧洲欧美日本激情网站| 99热综合| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 九九这里只有精品| 热热色91| 激情小说日韩无码| 久久夜黄色无码A级大片| 强奸乱伦大香蕉网| 亚洲第二页| 天堂网 主播 亚洲| 四虎精品永久在线观看| 国产精品96久久久久久| 欧美资源| 人妻丰满熟妇一区二区三| av无码av无码专区| 色婷婷五月天| 中文97国产| 91丝袜美腿网站| 插老姨肥穴| 久久久天美| 12一15性XXXX粉嫩国产| 欧美性爱中文字幕无线码| 最新欧洲欧美日本激情网站| 热久久九九热| 五月天九九日国产精品一区二区三区| 美欧色综合| 萌白酱自拍视频| www.婷婷六月天| 91成人社区| 另类欧美综合| 强奸乱伦AV网址| 国产精品国产拍高清AV| 欧美亚洲AN| 在线看污网站| 久久美女国产| 九色 人妻 大香蕉| 国语精品av| 激情啪啪拍91| 91xingse| 干美女人妻| 992大香蕉| 先锋影音av先锋一区| 夜夜草网站| 97超级欧美| 国产高清成人免费视频| 一区二区三区精品久久| 性欧美天天| 无套后入双马尾| 91成人久久| 国产性刺激| 亚洲丝袜综合| av天堂5| 蜜桃精久三区| 东京太热男人的天堂久久久| 中国女人内射6XXXXX| 亚洲第一页色| 中文字幕在线观看丝袜| 亚洲 另类 丝袜 自拍 动漫| 操逼操逼操| 亚洲午夜AV| 欧美综合传媒| a v网站在线播放| 熟女自慰久久久| 中文字幕乱亚洲美女精品一区| 中文自拍欧美影视| 男女性扦B| 伊人黄色片| 99xav| 久久久97| 亚洲欧美校园另类春色| 易易A毛视频| 久久香蕉网| 伊人午夜福利视频| 成人av动漫在线观看| 插入粉嫩少妇视频| 中文字幕乱在线伦视频中文字幕乱码在线 | 亚洲综合网图| 日本爽爽爽爽爽爽免费视频| 日韩人妻资源在线看| 婷婷色香伊人| 99热这里只有精| 亚洲色图欧美色图制服丝袜| 青青草华人在线欧美在线| 国产性爱欧美性爱在线| AV麻豆免费一区| 99色综合| 校园春色亚洲色图| 蜜臀av一区二区三区免费观看| 青娱乐妇女性生活| 熟女乱伦二区| 人妻丰满熟妇av无码区蜜桃| 亚洲啪啪性视频| 99re99在线视频| 一起草AV| 中文字幕欧美丝袜07资源| 色色热| 另类欧美综合| 91人妻人人妻| 性色av大全| 少妇精品久久久| 国产午夜激片Av毛片不卡| 欧洲精品久久| 精品性爱无码在线播放| 殴美性天天| 在线啊啊啊啊| 伊人丁香五月婷婷| 天天拍天| 精品少妇一区二区三区在线视频 | 天天视频综合在线观看视频| 午夜精品久久久99热蜜桃的功能特点| 黄色网址在线免费观看| 三及片网站| 欧美 亚洲 偷拍自拍| 极品一区二区三区免费| 日本三级韩国三级99| 蜜桃精品视频一区二区三区| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 2019精品国产无码成人| 国产性爱欧美性爱在线| 中日亚韩免费视频| 综合五月天| 亚洲麻豆精品二区三区| 亚洲小电影免费涩涩成人在线高清 | 综合免费无码中文| 亚洲男人天堂2017| 国产熟女二区| 久热无码| 色操逼网| 久久久9 9 9精品| 午夜精品久久久久久久男人的天堂 | 磁力99AV| 久久久国产三级黄色片| 伊人国产成人av网站| 日本九九久久99| 大香蕉操久久| 欧美少妇性爱网站| 五月丁香黄色网| 韩国毛片一区二区三区| 一区二区 电影 亚洲| 成人性爱电影一区二区| 欧美性爱18观看| 久久日本熟女精品一区| 久久精品欧美一区二区三区不卡| 久久久中文版| 日本午夜精品理论片A级APP发布| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 美女天天干| 天天看人人操屄犊摸阴| 激情九月婷婷| 成人无码电影在线观看网| 久久精品国产亚洲粉嫩| 色臀aV| 无码一区二区三区四区五区六区七区八区九区十区视频 | 口爆吞精在线观看| а√天堂资源官网在线资源| 97欧美日韩精品| 久久视频,这里只有精品| 人妻久热在线| 亚洲色综合| 蜜乳AV一区二区三区四| 人妻中文字幕精品无码| 欧美黑人与女人91| 国产av色网| 天天情欲宗合网| 亚洲精品骚逼| 99热97| 思思热在线| 亚洲人妻av| 成人七区| 亚洲av综合色| 国产v片在线免费观看| 婷婷国产精品一区二区| 欧美色图人妻| 欧美久久久| 青青草大香蕉在线视频| yazhousetuoumei| 国产精选三级在线观看| 亚洲强奸乱伦影视网| 丰满岳乱妇一区二区三区| 一区AV| 91综合色噜噜| 思思热一热婷婷热一热| 中文字幕78| 打av高清| 一区二区精品更新提醒| 97在线免费看| 艹我哪美一区无码| 天天日天天操心| 久操九九九九| 不卡超碰护士AV在线免费播放| 五月丁香在线| 日本熟妇熟色97一本在线观看| 婷婷五月花| 97人人草| 午夜人妻精品综合在线| 亚洲男人bt天堂| 女人高潮大叫一级毛片| 91精品大奶人妻| 国产精品久久伊人| 狠狠色婷婷7777久| 深夜国产一区二区三区在线看| AⅤ片水多多| 日韩免费福利在线观看| 色阁阁AV综合网| 久久久久久少妇| 国产精品毛片| 97中文综合| 久久精品人妻一区二区三区| 丰满精品人妻少妇久久字幕| 久久久久9久久久久| 天天日日日射| 97一区二区三区视频| 欧美日韩精品青青| 亚洲九九视频| 伊人超碰97| 任你草| 一本正道久久熟女| 久久久久ab| 久久精品男人的天堂| 97超碰色情| 韩国免费播放一级毛片| 蜜乳Av成人片网站| 亚洲午夜福利视频| 日本亚洲vr欧美不卡高清专区| 日本免费中文一区二区三区四区| 91在线页| 人人操人人射人人干| 大香蕉日韩欧美| 精品黄色电影| 伊人丁香五月婷婷| 激情婷婷| 一直超碰| 精品人妻一区二区蜜桃视频| 欧美日本成人一区二区| 中文字幕在线观看永久| 成人午夜小视频手机在线看| 亚洲二区精品在线观看| 久久久久国产亚洲一区欧美色图日韩| 亚洲 另类 丝袜 自拍 动漫| 欧美丝袜亚洲| 欧美激情性久久久久久| 999国产精品999| 日韩一999精品| x97av| 亚洲欧美人妻| WWW黄片COM| 色噜噜人妻av 中文字幕| 欧美啪啪天堂| 色臀AV| 伊人久久大香大香线蕉中文| 亚洲色堂免费视频| 久久中文字幕女同性恋一区| 欧美人与动性人交a| 国产女人91精品嗷嗷嗷嗷| 亚洲免费精品一区| 伊人嫩草| 无码高清操逼网址| 色综合久久888| 欧美日韩一干二干| 大屁股国产在线视频| 91模特在线观看| 国产精品一区二区亚洲人成毛片 | 日本一级不卡一二区| 欧美日韩精品久久久久久久久东北老熟妇| 久久久久人妻| 熟女熟妇一区二区三四区 | 人妻无码视频一区二区三区久久| 欧美色亚洲| av大香蕉| 啊啊啊啊在线播放| 中文字幕丝袜国产第一页不卡| 国产农村妇女一区二区| 欧美丝袜美女电影一二三四区| 久久日韩肥臀| 免费自拍三级综合| 天堂av2019| 国产十八禁视频| 国产亚洲福利第一页丝袜| 欧美亚洲综合色| 偷拍导航视频网站| 黄在线| 高清不卡视频| 国产97免费视频| 91久久久久免| 欧美91网| 国产免费一区二区在线A片视频| 97精选久久| 亚洲第一免费视频| 伊人青青一区成人视频在线观看区| 男女啊啊啊| 婷婷香蕉| 亚洲情色 自拍| 亚洲综合另类小说色区亚洲成av人片在www| 97舔舔| 欧美性暴力| 天天影视色香色欲| 乱伦强奸区日韩| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 久久9精品视频| av三级电影在线播放| 丁香九月激情啪| 性欧美| 国产福利小视频高清在线观看| 99婷婷| 亚洲乱熟女一区二区| 日本天天操| 天天操人人操骚逼网站| 国产精品无套内谢| 91九九九吃| 日本福利二区视频| 国产亚洲色婷婷99精品91| 蜜桃视频成a人v在线| 加勒比东京热五月天天堂网| 日韩 欧美 另类 人妻| 日日嗨AV一区二区夜夜| 亚洲精品成人激情在线| 好湿好紧视频| 性吧在线视频| 麻豆美女丝袜人妻中文| 亚洲欧洲色情高清| 亚洲AV秘 精品久久老牛影视| 欧美综合亚洲| 国产玖玖| 国产主播福利| 亚洲男人天堂视频| 在线观看av区| 日韩大香蕉AV影片| 少妇与黑人高潮在线| 乱伦a片视频| 色路综合| 欧美美女啪啪视频| 日小BB小视频| 欧美激情在线观看视频| 亚洲大色堂| 内射小黄片| 无卡一区=区| 亚洲欧洲国产综合av| 久久97| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 国产精品黄色三级av| 怡红院久久老司机| 好爽,再快点啊哈嗯嗯嗯嗯| TS人妖另类精品视频系列| av在线人气| 睡产熟女乱伦| 亚洲一区操| 国产三级中文字幕粉嫩| 青青国产精品在线| 围产精品一区二区三区视频播放| 国产一线二线三线av| 亚州中文字幕超碰97| 婷婷五月天色| 岛国片在线播放| 亚洲国产精品无石码久久| 亚洲天堂日本| 9久久精品| 久操凹凸视频| 亚洲色图8| 走光一区92下载| 肉丝网站91| 亚州操逼网| 亚洲欧美自拍偷拍| 日本一区二区中文字幕久久| 日韩欧美天天爽爽爽天天爽爽| 亚洲操人| 日韩色欲久久一二三四区| 欧美乱欲| 欧美亚洲韩国视频十五区| 人人妻人人色| 人妻嗯啊啊在线播放| 亚洲成人性爱在线观看| 日韩极品无码B| 欧洲人妻视频| chaopen97久久| 蜜桃精品视频一区| 欧美色三级片91| 久久综合五月天| 成人免费不卡在线视频| 久艹日日日| 成人性交午夜免费片| 国产精品毛片| 欧美伦乱爱| 六月丁操逼| 青青草原狼av| 六月丁香五月婷婷| 大香蕉乱伦视频网| 一区三区啪啪| 国产精品永久免费10000| 啊啊啊网站| 色五月AV| 玖玖久久久| 午夜美女诱惑电源网| 日日夜夜青青草母狗| 96AV精品| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 国产精品内射婷婷一级二| 手机在线大香蕉| 91丝袜人妻| 乱色老一区二区三区的观看方式| 国产久久天堂资源| 亚洲第一精品在线视频| 搡老熟女免费视频| 精品九九九九九| 国产强奸无码乱伦| 国产深夜福利| 国产女同在线观看视频| 日本一级特级毛片视频| 青青草福利视频| 91综合网| 欧美gv在线观看| 日韩性爱长视频免费| 欧美高清无码免费视频高清版| 女人天堂av在线播放| 好属操| 一起草三级AV电影在线观看| 蜜臀久久99精品久久久电影| 超清中文乱码字幕| 激情小说亚洲| 思思热在线视频在线| 99精品国产户外露出| 人人妻人人爽 97人人看碰人免费公开视频| 久久久久九九九九| 中文字幕国产在线天堂| 无码人妻一区二区三区色欲aⅴ| 先锋影音av先锋一区| 神马久久久久久久| 91人妻人人澡人人爽人人精品| 可以在线观看的黄色网址| 色爱三区| 亚洲欧洲综合视频在线| 色综合91| 成人无码专区精品视频| 91新在线欧美| 欧美日韩97在线| 久热最新在线杭州| 日韩在线观看三级电影| 亚欧毛片基地国产毛片基地| 国产男女边吃边摸视频网站| 欧美精品日韩久久久九| hd成人一区二区在线| 日本久久久精品电影| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久久久久久久久精| 超碰导航97| 自拍偷拍草一草| 肉嘟嘟www视频在线观看高清| 欧美一级A一级a爱片久久| 青青草乱入乱欲视频在线观看| 青青草乱入乱欲视频在线观看|