999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

指紋識(shí)別技術(shù)在IOS開(kāi)發(fā)中的應(yīng)用研究

2017-02-07 13:21:30黃瀏展
軟件 2016年7期

黃瀏展

摘要:蘋果自iphone5S推出了指紋識(shí)別實(shí)現(xiàn)指紋解鎖功能,隨后在IOS8開(kāi)放了touch ID接口。本文對(duì)iPhone的指紋識(shí)別技術(shù)進(jìn)行了簡(jiǎn)要介紹,并對(duì)指紋識(shí)別技術(shù)在IOS開(kāi)發(fā)中的應(yīng)用進(jìn)行了詳細(xì)闡述。

關(guān)鍵詞:指紋識(shí)別;IOS;App;登錄

引文

指紋是每個(gè)人所具有的生理特征,并且每個(gè)人的指紋都是獨(dú)一無(wú)二的,每個(gè)人的指紋在圖案、斷點(diǎn)和交叉點(diǎn)上各不相同,它也不會(huì)隨著年齡的變化而發(fā)生變化。正因?yàn)橹讣y所具備的獨(dú)特的特征,被廣泛用作個(gè)人的身份識(shí)別。

指紋識(shí)別技術(shù)是利用人類指紋的唯一性,通過(guò)對(duì)指紋圖案的采樣、特征信息提取并與庫(kù)存樣本相比較的過(guò)程來(lái)實(shí)現(xiàn)身份識(shí)別的技術(shù)。與帳號(hào)加密碼、充值IC卡等傳統(tǒng)的身份識(shí)別手段相比,指紋識(shí)別技術(shù)具有不會(huì)丟失、不會(huì)遺忘、唯一性、不變性、防偽性能好和使用方便等優(yōu)點(diǎn),目前應(yīng)用在偵訊、門禁、電腦、手機(jī)、考勤、支付等領(lǐng)域。

隨著智能手機(jī)的普及和移動(dòng)互聯(lián)網(wǎng)的發(fā)展,人們?nèi)粘9ぷ魃钪性絹?lái)越多的事務(wù)通過(guò)手機(jī)來(lái)完成。越來(lái)越多的應(yīng)用要求用戶通過(guò)輸入密碼來(lái)登錄,密碼難以記憶,輸入起來(lái)麻煩,使用起來(lái)極為不便。如果能利用指紋識(shí)別技術(shù)來(lái)實(shí)現(xiàn)各種APP的登陸將極大的方便用戶,為用戶提供更好的體驗(yàn)。本文將介紹IOS開(kāi)發(fā)中,如果使用蘋果touch ID實(shí)現(xiàn)指紋登陸。

2蘋果指紋識(shí)別技術(shù)介紹

2.1蘋果指紋識(shí)別技術(shù)原理

2013年蘋果公司在iphone5S上首次使用指紋識(shí)別功能實(shí)現(xiàn)手機(jī)的解鎖。在手機(jī)的Home鍵內(nèi)植入指紋識(shí)別芯片,利用射頻傳感器直接讀取真皮層的指紋,生成精準(zhǔn)的指紋圖像。通常得到的指紋圖像是灰度圖。為了提取指紋特征,首先將灰度圖轉(zhuǎn)化成計(jì)算機(jī)能處理的二進(jìn)制圖像。Touch ID芯片會(huì)根據(jù)3種基本指紋類型(弧形紋、箕形紋或斗形紋)將指紋分類,提取指紋紋路中的特征點(diǎn),包括紋路的起點(diǎn)、終點(diǎn)、分叉點(diǎn)和毛孔的位置等。然后將該手指的特征點(diǎn)數(shù)據(jù)加密之后保存為數(shù)學(xué)表達(dá)式。通過(guò)指紋識(shí)別進(jìn)行身份驗(yàn)證的過(guò)程就是再次執(zhí)行以上過(guò)程,然后將獲得的指紋與已經(jīng)注冊(cè)的指紋數(shù)據(jù)進(jìn)行比對(duì),如果匹配則指紋解鎖成功。

從以上描述可以看出蘋果的指紋識(shí)別技術(shù)有以下幾個(gè)特點(diǎn):第一、基于第三代生物射頻指紋識(shí)別技術(shù)(射頻原理真皮指紋核心技術(shù)(線型采集器)),通過(guò)傳感器發(fā)射出微量射頻信號(hào),穿透手指的表皮層去控測(cè)里層的紋路,以便獲得較精準(zhǔn)的指紋圖像。而且獲取的是真皮層的指紋特征,防偽指紋能力增強(qiáng)。第二、保存的并非指紋本身,而是指紋的特征數(shù)據(jù),并且經(jīng)過(guò)加密處理。第三、指紋數(shù)據(jù)保存在本地,而非云端,并且目前是不可以獲取指紋數(shù)據(jù)的。以上三點(diǎn)從一定程度上保證了指紋識(shí)別的安全性。

2.2TouchID在APP開(kāi)發(fā)中的應(yīng)用

2.2.1指紋識(shí)別的應(yīng)用

Iphone5s添加指紋識(shí)別后,僅僅將指紋識(shí)別用于手機(jī)的解鎖。iOS8發(fā)布以后,在其SDK開(kāi)放了TouchID的接口。該接口提供的函數(shù)主要實(shí)現(xiàn)兩個(gè)功能,判斷當(dāng)前設(shè)備是否支持指紋識(shí)別功能和指紋驗(yàn)證。前面已經(jīng)介紹,蘋果指紋識(shí)別并不會(huì)保存指紋到云端,也不提供獲取指紋的功能,因此其指紋識(shí)別僅針對(duì)當(dāng)前使用設(shè)備,并且不能存儲(chǔ)指紋,只能對(duì)當(dāng)前設(shè)備的指紋識(shí)別進(jìn)行驗(yàn)證。根據(jù)蘋果官方的介紹Touch ID目前主要應(yīng)用在兩個(gè)方面:用于Key Chain加密和用于授權(quán)。

根據(jù)蘋果指紋識(shí)別的原理,目前指紋識(shí)別技術(shù)在IOS開(kāi)發(fā)中的應(yīng)用主要是指紋識(shí)別登錄App。App登錄后,一段時(shí)間不用或者其它原因使其進(jìn)人后臺(tái)運(yùn)行,當(dāng)用戶重新將APP喚醒至前臺(tái)時(shí),一般要求輸人密碼,這個(gè)時(shí)候可以利用指紋識(shí)別來(lái)代替密碼輸入,為用戶提供便利,省去輸入密碼的繁瑣,也減少密碼被盜的風(fēng)險(xiǎn)。

2.2.2 Touch ID接口介紹

IOS8以后,蘋果對(duì)開(kāi)發(fā)者開(kāi)放了Touch ID接口,可以通過(guò)Touch ID進(jìn)行身份認(rèn)證,下面接口簡(jiǎn)單介紹。

Touch ID用于身份認(rèn)證的所有的接口都在LocalAuthentication框架中,該框架包含了三個(gè)頭文件:LAContext.h,LAError.h,LAPublicDefines.h。LAContext.h用來(lái)評(píng)估認(rèn)證策略,允許應(yīng)用程序要求用戶使用個(gè)人信息,如注冊(cè)信息或Touch ID的個(gè)人信息來(lái)驗(yàn)證自己的身份。LAError.h中定義了一些錯(cuò)誤信息代碼。實(shí)際用到的函數(shù)有兩個(gè),如下所示。

上述兩個(gè)函數(shù)都是LAContext的成員函數(shù)。目前LAPolicy有兩個(gè)值:LAPolicyDeviceOwnerAuthe-nticationWithBiometrics和LAPolicyDeviceOwnerA-uthentication。第一個(gè)值表示設(shè)備必須使用touch ID認(rèn)證識(shí)別,如果設(shè)備不支持或者沒(méi)有設(shè)置指紋,則不能通過(guò)認(rèn)證;第二個(gè)值表示設(shè)備可以通過(guò)touchID和密碼來(lái)認(rèn)證識(shí)別,當(dāng)不能使用指紋識(shí)別時(shí)則使用密碼。

如果canEvaluatePolicy函數(shù)返回值為YES,表示設(shè)備支持指紋識(shí)別,那么可以調(diào)用evaluatePolicy:函數(shù)進(jìn)行指紋識(shí)別了。調(diào)用evaluatePolicy函數(shù)后會(huì)彈出一個(gè)alert。該alert可定制的只有兩處:loca-lizedReason參數(shù)指定提示框的提示信息,用來(lái)向用戶說(shuō)明使用Touch ID的目的;LAContext的locali-zedFallbackTitle屬性用來(lái)設(shè)置密碼輸入框的形式,如果不設(shè)置的話,默認(rèn)提示是“Enter Password”。如果該屬性設(shè)置為空,該按鈕會(huì)被隱藏。

彈出Alert后有三種方式退出驗(yàn)證(alert會(huì)被dismiss,reply回調(diào)會(huì)被調(diào)用):用戶指紋通過(guò)驗(yàn)證;用戶點(diǎn)擊“Enter Password”按鈕,通過(guò)輸入密碼驗(yàn)證;用戶點(diǎn)擊“Cancel”按鈕,取消指紋驗(yàn)證。

在指紋驗(yàn)證過(guò)程中,如果用戶輸入了錯(cuò)誤的指紋,這種情況下,提示框控件不會(huì)被dismiss,其標(biāo)題會(huì)由項(xiàng)目名稱變?yōu)闉椤癟ry Again”,并有彈簧狀的動(dòng)畫效果過(guò)渡。如果連續(xù)三次驗(yàn)證錯(cuò)誤,則取消指紋驗(yàn)證。

3指紋識(shí)別的應(yīng)用實(shí)踐

前面已經(jīng)提到目前指紋識(shí)別在ios開(kāi)發(fā)中的應(yīng)用主要是指紋識(shí)別登錄APP,下面將就其如何實(shí)現(xiàn)提出一種思路并詳細(xì)進(jìn)行闡述。

3.1指紋驗(yàn)證綜述

在使用各種APP的時(shí)候,用戶一方面希望能保證安全,避免信息被盜,保護(hù)自己的隱私,另一方面又希望用起來(lái)方便。有些APP每天被反復(fù)登錄使用,但用戶又不想反復(fù)的去輸入密碼,同時(shí)還要保證別人不能隨意看到自己的信息。這個(gè)時(shí)候就可以使用指紋驗(yàn)證功能來(lái)達(dá)到該目的。目前有越來(lái)越多的應(yīng)用使用了指紋驗(yàn)證功能來(lái)實(shí)現(xiàn)應(yīng)用從后臺(tái)到前臺(tái)的用戶驗(yàn)證,如qq,支付寶等。

要實(shí)現(xiàn)指紋驗(yàn)證功能,主要分兩個(gè)步驟,第一步驗(yàn)證并開(kāi)啟設(shè)備的指紋識(shí)別功能;第二步從后臺(tái)到前臺(tái)的指紋驗(yàn)證。

3.2驗(yàn)證并開(kāi)啟設(shè)備的指紋識(shí)別功能

3.2.1實(shí)現(xiàn)邏輯

在APP開(kāi)發(fā)中實(shí)現(xiàn)開(kāi)啟指紋驗(yàn)證功能,只是一種模擬效果,因?yàn)檎嬲_(kāi)啟該功能只能在設(shè)備的系統(tǒng)設(shè)置中。如圖1所示,可以利用UISwitch控件模擬一種開(kāi)啟指紋解鎖的效果,當(dāng)點(diǎn)擊開(kāi)關(guān)處于開(kāi)啟狀態(tài)時(shí),彈出如圖所示的指紋驗(yàn)證窗口,通過(guò)觸摸Home鍵通過(guò)指紋驗(yàn)證,表示APP支持指紋識(shí)別。保存開(kāi)關(guān)控件的狀態(tài),同時(shí)設(shè)置一個(gè)Bool變量來(lái)保存是否支持指紋識(shí)別的狀態(tài)。如果switch處于開(kāi)的狀態(tài),則將這兩個(gè)Bool變量都保存為YES,否則都為NO,表示不支持指紋識(shí)別,同時(shí)Switch處于關(guān)閉狀態(tài)。這個(gè)設(shè)置,一般在用戶登錄APP后,在APP的安全設(shè)置中。

3.2.2關(guān)鍵代碼

touch ID接口主要提供了兩個(gè)函數(shù)用于指紋識(shí)別,在開(kāi)啟指紋識(shí)別時(shí)(點(diǎn)擊switch開(kāi)關(guān)),會(huì)調(diào)用這兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)指紋識(shí)別。首先要判斷設(shè)備是否支持指紋識(shí)別功能,下面列出主要代碼。

上述代碼中,如果驗(yàn)證成功,一般通過(guò)主線程來(lái)處理相關(guān)操作。如果驗(yàn)證失敗,則根據(jù)LAError.h文件中的錯(cuò)誤代碼來(lái)做相應(yīng)的處理,如LAErro-rAuthenticationFailed表示因?yàn)橛脩籼峁┝隋e(cuò)誤的指紋沒(méi)有驗(yàn)證成功。

3.3指紋驗(yàn)證

APP從后臺(tái)進(jìn)入前臺(tái),必須通過(guò)指紋驗(yàn)證才能重新進(jìn)人,這樣可以確保應(yīng)用在使用后沒(méi)有即時(shí)退出造成的風(fēng)險(xiǎn)。要達(dá)到這個(gè)目的,有兩個(gè)前提條件。第一是當(dāng)前APP是開(kāi)啟了指紋識(shí)別;第二是APP已經(jīng)登錄了,并處于有效使用時(shí)間內(nèi)。如果開(kāi)啟了指紋識(shí)別,同時(shí)APP處于登錄有效時(shí)間內(nèi),那么APP從后臺(tái)進(jìn)入前臺(tái)時(shí),則進(jìn)入如圖3所示界面,通過(guò)指紋識(shí)別來(lái)重新進(jìn)入APP。在圖3界面點(diǎn)擊指紋圖標(biāo),進(jìn)入圖4所示界面,然后通過(guò)指紋識(shí)別解鎖。指紋識(shí)別解鎖過(guò)程和前述的開(kāi)啟指紋識(shí)別過(guò)程類似。也是分為兩步,第一步,設(shè)備是否支持指紋識(shí)別;第二步,如果支持指紋則通過(guò)指紋驗(yàn)證。代碼實(shí)現(xiàn)過(guò)程也基本相同,不同的是本次指紋驗(yàn)證成功后進(jìn)人APP進(jìn)入后臺(tái)前的相應(yīng)界面。

需要進(jìn)一步說(shuō)明的是APP如何來(lái)判斷是否已經(jīng)登錄,并處于有效使用時(shí)間內(nèi)。這個(gè)問(wèn)題可以通過(guò)token機(jī)制來(lái)處理。token值稱為登錄令牌,用來(lái)判斷當(dāng)前用戶的登錄狀態(tài),是服務(wù)器根據(jù)用戶的信息(賬號(hào)/密碼/身份認(rèn)證機(jī)制等)來(lái)生成的用于標(biāo)識(shí)用戶身份的值。當(dāng)用戶首次登錄成功之后,服務(wù)器端就會(huì)生成一個(gè)token值,并將其保存在服務(wù)器的數(shù)據(jù)庫(kù)中,同時(shí)將token值返回給客戶端。客戶端可以將其保存在沙盒中,作為一個(gè)公共參數(shù)。客戶端再次發(fā)送網(wǎng)絡(luò)請(qǐng)求(不一定是登錄請(qǐng)求)時(shí),就會(huì)將這個(gè)token值附帶到參數(shù)中發(fā)送給服務(wù)器,服務(wù)器接收到客戶端的請(qǐng)求之后,會(huì)取出token值與保存在數(shù)據(jù)庫(kù)中的token值做對(duì)比,如果兩個(gè)token值相同則說(shuō)明用戶登錄過(guò)并且當(dāng)前用戶處于登錄狀態(tài)。如果沒(méi)有這個(gè)token值,表示沒(méi)有登錄成功。如果客戶端的token值和數(shù)據(jù)庫(kù)中保存的不一致,這說(shuō)明原來(lái)的登錄信息已失效,也就是用戶的token值已超出有效時(shí)間。token不僅有有效時(shí)間,而且只要調(diào)用登錄接口并且登錄成功,都會(huì)在服務(wù)器生成新的token值,原來(lái)的token值就會(huì)失效。

4指紋識(shí)別驗(yàn)證方法改進(jìn)

前面提到的指紋驗(yàn)證過(guò)程是APP登錄后,通過(guò)token判斷APP是否在有效使用時(shí)間內(nèi),為其加的指紋鎖,實(shí)際上APP已經(jīng)登錄,所以并非真正通過(guò)指紋驗(yàn)證來(lái)登錄。也可以將指紋識(shí)別集成在APP中,實(shí)現(xiàn)指紋識(shí)別登錄APP功能。下面將介紹在APP中如何集成指紋識(shí)別實(shí)現(xiàn)指紋登錄。

4.1設(shè)計(jì)思路

iPhone指紋的存儲(chǔ)和驗(yàn)證都是通過(guò)Home鍵來(lái)完成的,APP開(kāi)發(fā)者并不能獲取用戶的指紋和識(shí)別用戶的指紋。因此實(shí)現(xiàn)指紋登錄實(shí)際上還是針對(duì)特定設(shè)備,也就是在用帳號(hào)密碼登錄APP時(shí),先要將其與設(shè)備綁定。不管是開(kāi)啟指紋識(shí)別還是指紋登錄都是針對(duì)當(dāng)前使用設(shè)備,在設(shè)計(jì)中考慮和設(shè)備進(jìn)行關(guān)聯(lián)。

4.1.1開(kāi)啟指紋識(shí)別

開(kāi)啟指紋識(shí)別的設(shè)計(jì)思路和前述方法一致,將switch開(kāi)關(guān)前的標(biāo)簽改成開(kāi)啟指紋登錄。然后在指紋識(shí)別驗(yàn)證通過(guò)后,將APP登錄帳號(hào)密碼和設(shè)備關(guān)聯(lián)綁定,過(guò)程如下。TouchID驗(yàn)證通過(guò)后,根據(jù)當(dāng)前已登錄的賬號(hào)和硬件設(shè)備Token,生成設(shè)備賬號(hào)和密碼。設(shè)備的帳號(hào)和密碼生成規(guī)則可以通過(guò)不同方式,因用戶不需要直接使用此處密碼,密碼可以盡可能的長(zhǎng)和復(fù)雜。將設(shè)備帳號(hào)密碼保存在keych-ain,以便進(jìn)行指紋登錄時(shí)讀取。

設(shè)備帳號(hào)和密碼只是用于指紋登錄時(shí)讀取,與服務(wù)器數(shù)據(jù)庫(kù)保存的數(shù)據(jù)進(jìn)行比較,用戶不會(huì)直接接觸和使用該賬戶密碼,所以可以設(shè)置復(fù)雜的規(guī)則。比如說(shuō)賬號(hào)可以用硬件token或者原賬號(hào)加密處理后的字符串,密碼用APP密碼進(jìn)行md5加密再和設(shè)備token進(jìn)行某種運(yùn)算等。

生成設(shè)備賬號(hào)、密碼后,將原賬號(hào)及設(shè)備賬號(hào)、密碼,加密后發(fā)送到服務(wù)端進(jìn)行綁定。最后服務(wù)器端驗(yàn)證原賬號(hào)及設(shè)備賬號(hào)有效后,返回相應(yīng)狀態(tài),綁定成功則完成整個(gè)TouchID(設(shè)備)綁定流程,APP開(kāi)始指紋識(shí)別成功。

4.1.2指紋登錄

APP開(kāi)啟了指紋識(shí)別登錄后,當(dāng)用戶賬號(hào)退出后,可以使用指紋登錄。在登錄按鈕下面會(huì)添加一個(gè)“指紋登錄”按鈕(如圖5所示)。若當(dāng)前設(shè)備未綁定,則不會(huì)出現(xiàn)“指紋登錄”按鈕。

單擊登錄界面的“指紋登錄”按鈕,調(diào)用TouchId接口檢測(cè)當(dāng)前設(shè)備是否支持TouchID,如果支持則發(fā)起TouchID驗(yàn)證(如圖6所示)。指紋驗(yàn)證通過(guò),說(shuō)明是機(jī)主本人。讀取APP存儲(chǔ)在keychain中的設(shè)備賬號(hào)、密碼,調(diào)用設(shè)備登錄接口,發(fā)起登錄請(qǐng)求。服務(wù)器端驗(yàn)證設(shè)備賬號(hào)、密碼后,返回相應(yīng)狀態(tài),通過(guò)驗(yàn)證則登錄成功,完成整個(gè)TouchID登錄流程。

4.2 keychain保存用戶名、密碼

指紋登錄其實(shí)最終還是通過(guò)賬號(hào)和密碼登錄來(lái)實(shí)現(xiàn),指紋通過(guò)驗(yàn)證后,APP在后臺(tái)調(diào)用登錄接口,自動(dòng)獲取keychain保存的賬號(hào)密碼登錄。下面將介紹keychain保存和獲取賬號(hào)和密碼的方法。

keychain是IOS為開(kāi)發(fā)者提供的一種安全的保存私密信息(密碼,序列號(hào),證書等)的方式,每個(gè)IOS程序都有一個(gè)獨(dú)立的keychain存儲(chǔ)。keychain是通過(guò)加密存儲(chǔ)的,相對(duì)于NSUserDefaults、文件保存等方式,keychain保存更為安全。因此使用keychain來(lái)保存登錄賬號(hào)密碼是一種較好的方式。

在應(yīng)用里要使用keyChain,首先需要導(dǎo)人Security.framework,keychain的操作接口聲明在頭文件SecItem.h里。可以直接使用SecItem.h里方法操作keychain,也可以使用apple官方的兩個(gè)工具類:KeychainltemWrapper和SFHFKeychainUtils。下面將列出使用KeychainltemWrapper類實(shí)現(xiàn)的主要代碼。

5結(jié)束語(yǔ)

雖然touch ID只提供了指紋驗(yàn)證,不能獲取指紋和利用指紋數(shù)據(jù),但只要很好的利用其接口,將指紋識(shí)別技術(shù)集成到APP中,就可以實(shí)現(xiàn)類似于APP指紋登錄的效果。包括指紋支付,也可以采用類似的設(shè)計(jì)加以實(shí)現(xiàn)。這可以給用戶帶來(lái)便利,讓用戶有更好的體驗(yàn)。

主站蜘蛛池模板: 超碰aⅴ人人做人人爽欧美| 国产欧美日韩va另类在线播放| 婷婷伊人五月| 精品人妻AV区| 国产毛片网站| 91综合色区亚洲熟妇p| 亚洲视频影院| 蝴蝶伊人久久中文娱乐网| 国产一二三区视频| 在线观看网站国产| 欧美成人a∨视频免费观看| 中文毛片无遮挡播放免费| 国产视频a| 色综合成人| 91福利在线观看视频| 欧美另类第一页| 国产香蕉97碰碰视频VA碰碰看| 情侣午夜国产在线一区无码| 制服丝袜 91视频| 国产香蕉在线视频| 毛片网站在线看| 国产高清毛片| 日韩毛片免费| 一级高清毛片免费a级高清毛片| 亚洲天堂视频在线播放| 国产成人做受免费视频| 国产精品微拍| 久久成人国产精品免费软件| 色爽网免费视频| 永久免费无码成人网站| 亚洲成人精品| 超碰色了色| 欧美日韩免费| 欧美v在线| 亚洲成人网在线观看| 天天摸天天操免费播放小视频| 热这里只有精品国产热门精品| 制服丝袜亚洲| 青青青草国产| 欧美视频在线第一页| 亚洲欧美日韩成人在线| 精品国产99久久| 亚洲精品欧美重口| 男女猛烈无遮挡午夜视频| 国产成人区在线观看视频| 真实国产精品vr专区| 99er精品视频| 国产人成乱码视频免费观看| 成人在线视频一区| 国产欧美中文字幕| 精品少妇人妻一区二区| 久久精品丝袜高跟鞋| 国产成人高清精品免费软件 | 欧美精品1区| 丝袜高跟美脚国产1区| 伊人久久婷婷| 国产理论精品| 伊人精品成人久久综合| 在线va视频| 在线播放91| 午夜三级在线| 亚洲视频a| 女同国产精品一区二区| 亚洲精品无码久久毛片波多野吉| 欧洲欧美人成免费全部视频| 成人免费黄色小视频| 亚洲国产精品不卡在线| 亚洲av片在线免费观看| 美女无遮挡免费视频网站| 一区二区自拍| 亚洲天堂自拍| 精品国产91爱| 一级黄色欧美| 五月天福利视频| 啪啪免费视频一区二区| 欧美爱爱网| 日日噜噜夜夜狠狠视频| 国产一区二区三区夜色| 在线不卡免费视频| 国产在线观看一区二区三区| 欧美福利在线观看| 欧美综合在线观看|