精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

前后端API交互如何保證數(shù)據(jù)安全性?

安全 數(shù)據(jù)安全
前后端分離的開發(fā)方式,我們以接口為標(biāo)準(zhǔn)來進(jìn)行推動,定義好接口,各自開發(fā)自己的功能,最后進(jìn)行聯(lián)調(diào)整合。無論是開發(fā)原生的APP還是webapp還是PC端的軟件,只要是前后端分離的模式,就避免不了調(diào)用后端提供的接口來進(jìn)行業(yè)務(wù)交互。

 

前言

前后端分離的開發(fā)方式,我們以接口為標(biāo)準(zhǔn)來進(jìn)行推動,定義好接口,各自開發(fā)自己的功能,***進(jìn)行聯(lián)調(diào)整合。無論是開發(fā)原生的APP還是webapp還是PC端的軟件,只要是前后端分離的模式,就避免不了調(diào)用后端提供的接口來進(jìn)行業(yè)務(wù)交互。

網(wǎng)頁或者app,只要抓下包就可以清楚的知道這個請求獲取到的數(shù)據(jù),這樣的接口對爬蟲工程師來說是一種福音,要抓你的數(shù)據(jù)簡直輕而易舉。

數(shù)據(jù)的安全性非常重要,特別是用戶相關(guān)的信息,稍有不慎就會被不法分子盜用,所以我們對這塊要非常重視,容不得馬虎。

如何保證API調(diào)用時(shí)數(shù)據(jù)的安全性?

  1. 通信使用https
  2. 請求簽名,防止參數(shù)被篡改
  3. 身份確認(rèn)機(jī)制,每次請求都要驗(yàn)證是否合法
  4. APP中使用ssl pinning防止抓包操作
  5. 對所有請求和響應(yīng)都進(jìn)行加解密操作
  6. 等等方案.......

對所有請求和響應(yīng)都進(jìn)行加解密操作

方案有很多種,當(dāng)你做的越多,也就意味著安全性更高,今天我跟大家來介紹一下對所有請求和響應(yīng)都進(jìn)行加解密操作的方案,即使能抓包,即使能調(diào)用我的接口,但是我返回的數(shù)據(jù)是加密的,只要加密算法夠安全,你得到了我的加密內(nèi)容也對我沒什么影響。

像這種工作***做成統(tǒng)一處理的,你不能讓每個開發(fā)都去關(guān)注這件事情,如果讓每個開發(fā)去關(guān)注這件事情就很麻煩了,返回?cái)?shù)據(jù)時(shí)還得手動調(diào)用下加密的方法,接收數(shù)據(jù)后還得調(diào)用下解密的方法。

為此,我基于Spring Boot封裝了一個Starter, 內(nèi)置了AES加密算法。GitHub地址如下:

github.com/yinjihuan/s…

先來看看怎么使用,可以下載源碼,然后引入即可,然后在啟動類上增加@EnableEncrypt注解開啟加解密操作:

  1. @EnableEncrypt 
  2. @SpringBootApplication 
  3. public class App { 
  4.      
  5.     public static void main(String[] args) { 
  6.         SpringApplication.run(App.class, args); 
  7.     } 

增加加密的key配置:

  1. spring.encrypt.key=abcdef0123456789 
  2. spring.encrypt.debug=false 
  • spring.encrypt.key:加密key,必須是16位
  • spring.encrypt.debug:是否開啟調(diào)試模式,默認(rèn)為false,如果為true則不啟用加解密操作

為了考慮通用性,不會對所有請求都執(zhí)行加解密,基于注解來做控制

響應(yīng)數(shù)據(jù)需要加密的話,就在Controller的方法上加@Encrypt注解即可。

  1. @Encrypt 
  2. @GetMapping("/list"
  3. public Response queryNews(String city) { 
  4.     return Response.ok(city); 

當(dāng)我們訪問/list接口時(shí),返回的數(shù)據(jù)就是加密之后base64編碼的格式。

還有一種操作就是前段提交的數(shù)據(jù),分為2種情況,一種是get請求,這種暫時(shí)沒處理,后面再考慮,目前只處理的post請求,基于json格式提交的方式,也就是說后臺需要用@RequestBody接收數(shù)據(jù)才行, 需要解密的操作我們加上@Decrypt注解即可。

  1. @Decrypt 
  2. @PostMapping("/save"
  3. public Response savePageLog(@RequestBody PageLogParam logParam, HttpServletRequest request) { 
  4.     pageLogService.save(logParam); 
  5.     return Response.ok(); 

加了@Decrypt注解后,前端提交的數(shù)據(jù)需要按照AES加密算法,進(jìn)行加密,然后提交到后端,后端這邊會自動解密,然后再映射到參數(shù)對象中。

上面講解的都是后端的代碼,前端使用的話我們以js來講解,當(dāng)然你也能用別的語言來做,如果是原生的安卓app也是用java代碼來處理。

前端需要做的就2件事情:

  1. 統(tǒng)一處理數(shù)據(jù)的響應(yīng),在渲染到頁面之前進(jìn)行解密操作
  2. 當(dāng)有POST請求的數(shù)據(jù)發(fā)出時(shí),統(tǒng)一加密

js加密文件請參考我GitHub中encrypt中的aes.js,crypto-js.js,pad-zeropadding.js

我們以axios來作為請求數(shù)據(jù)的框架,用axios的攔截器來統(tǒng)一處理加密解密操作

首先還是要封裝一個js加解密的類,需要注意的是加密的key需要和后臺的對上,不然無法相互解密,代碼如下:

  1. var key  = CryptoJS.enc.Latin1.parse('abcdef0123456789'); 
  2. var iv   = CryptoJS.enc.Latin1.parse('abcdef0123456789'); 
  3.  
  4. // 加密 
  5. function EncryptData(data) { 
  6.     var srcs = CryptoJS.enc.Utf8.parse(data); 
  7.     var encrypted = CryptoJS.AES.encrypt(srcs, key, { 
  8.         mode : CryptoJS.mode.ECB, 
  9.         padding : CryptoJS.pad.Pkcs7 
  10.     }); 
  11.     return encrypted.toString(); 
  12.  
  13. // 解密 
  14. function DecryptData(data) { 
  15.     var stime = new Date().getTime(); 
  16.     var decrypt = CryptoJS.AES.decrypt(data, key, { 
  17.         mode : CryptoJS.mode.ECB, 
  18.         padding : CryptoJS.pad.Pkcs7 
  19.     }); 
  20.     var result = JSON.parse(CryptoJS.enc.Utf8.stringify(decrypt).toString()); 
  21.     var etime = new Date().getTime(); 
  22.     console.log("DecryptData Time:" + (etime - stime)); 
  23.     return result; 

axios攔截器中統(tǒng)一處理代碼:

  1. // 添加請求攔截器 
  2. axios.interceptors.request.use(function (config) { 
  3.     // 對所有POST請加密,必須是json數(shù)據(jù)提交,不支持表單 
  4.     if (config.method == "post") { 
  5.         config.data = EncryptData(JSON.stringify(config.data)); 
  6.     } 
  7.     return config; 
  8.   }, function (error) { 
  9.     return Promise.reject(error); 
  10. }); 
  11.  
  12. // 添加響應(yīng)攔截器 
  13. axios.interceptors.response.use(function (response) { 
  14.     // 后端返回字符串表示需要解密操作 
  15.     if(typeof(response.data) == "string"){ 
  16.         response.data = DecryptData(response.data); 
  17.     } 
  18.     return response; 
  19.   }, function (error) { 
  20.     return Promise.reject(error); 
  21. }); 

到此為止,我們就為整個前后端交互的通信做了一個加密的操作,只要加密的key不泄露,別人得到你的數(shù)據(jù)也沒用,問題是如何保證key不泄露呢?

服務(wù)端的安全性較高,可以存儲在數(shù)據(jù)庫中或者配置文件中,畢竟在我們自己的服務(wù)器上,最危險(xiǎn)的其實(shí)就時(shí)前端了,app還好,可以打包,但是要防止反編譯等等問題。

如果是webapp則可以依賴于js加密來實(shí)現(xiàn),下面我給大家介紹一種動態(tài)獲取加密key的方式,只不過實(shí)現(xiàn)起來比較復(fù)雜,我們不上代碼,只講思路:

加密算法有對稱加密和非對稱加密,AES是對稱加密,RSA是非對稱加密。之所以用AES加密數(shù)據(jù)是因?yàn)樾矢撸琑SA運(yùn)行速度慢,可以用于簽名操作。

我們可以用這2種算法互補(bǔ),來保證安全性,用RSA來加密傳輸AES的秘鑰,用AES來加密數(shù)據(jù),兩者相互結(jié)合,優(yōu)勢互補(bǔ)。

其實(shí)大家理解了HTTPS的原理的話對于下面的內(nèi)容應(yīng)該是一看就懂的,HTTPS比HTTP慢的原因都是因?yàn)樾枰尶蛻舳伺c服務(wù)器端安全地協(xié)商出一個對稱加密算法。剩下的就是通信時(shí)雙方使用這個對稱加密算法進(jìn)行加密解密。

  1. 客戶端啟動,發(fā)送請求到服務(wù)端,服務(wù)端用RSA算法生成一對公鑰和私鑰,我們簡稱為pubkey1,prikey1,將公鑰pubkey1返回給客戶端。
  2. 客戶端拿到服務(wù)端返回的公鑰pubkey1后,自己用RSA算法生成一對公鑰和私鑰,我們簡稱為pubkey2,prikey2,并將公鑰pubkey2通過公鑰pubkey1加密,加密之后傳輸給服務(wù)端。
  3. 此時(shí)服務(wù)端收到客戶端傳輸?shù)拿芪模盟借€prikey1進(jìn)行解密,因?yàn)閿?shù)據(jù)是用公鑰pubkey1加密的,通過解密就可以得到客戶端生成的公鑰pubkey2
  4. 然后自己在生成對稱加密,也就是我們的AES,其實(shí)也就是相對于我們配置中的那個16的長度的加密key,生成了這個key之后我們就用公鑰pubkey2進(jìn)行加密,返回給客戶端,因?yàn)橹挥锌蛻舳擞衟ubkey2對應(yīng)的私鑰prikey2,只有客戶端才能解密,客戶端得到數(shù)據(jù)之后,用prikey2進(jìn)行解密操作,得到AES的加密key,***就用加密key進(jìn)行數(shù)據(jù)傳輸?shù)募用埽链苏麄€流程結(jié)束。

spring-boot-starter-encrypt原理

***我們來簡單的介紹下spring-boot-starter-encrypt的原理吧,也讓大家能夠理解為什么Spring Boot這么方便,只需要簡單的配置一下就可以實(shí)現(xiàn)很多功能。

啟動類上的@EnableEncrypt注解是用來開啟功能的,通過@Import導(dǎo)入自動配置類

  1. @Target({ElementType.TYPE}) 
  2. @Retention(RetentionPolicy.RUNTIME) 
  3. @Documented 
  4. @Inherited 
  5. @Import({EncryptAutoConfiguration.class}) 
  6. public @interface EnableEncrypt { 
  7.  

EncryptAutoConfiguration中配置請求和響應(yīng)的處理類,用的是Spring中的RequestBodyAdvice和ResponseBodyAdvice,在Spring中對請求進(jìn)行統(tǒng)計(jì)處理比較方便。如果還要更底層去封裝那就要從servlet那塊去處理了。

  1. @Configuration 
  2. @Component 
  3. @EnableAutoConfiguration 
  4. @EnableConfigurationProperties(EncryptProperties.class) 
  5. public class EncryptAutoConfiguration { 
  6.  
  7.     /** 
  8.      * 配置請求解密 
  9.      * @return 
  10.      */ 
  11.     @Bean 
  12.     public EncryptResponseBodyAdvice encryptResponseBodyAdvice() { 
  13.         return new EncryptResponseBodyAdvice(); 
  14.     } 
  15.      
  16.     /** 
  17.      * 配置請求加密 
  18.      * @return 
  19.      */ 
  20.     @Bean 
  21.     public EncryptRequestBodyAdvice encryptRequestBodyAdvice() { 
  22.         return new EncryptRequestBodyAdvice(); 
  23.     } 
  24.      

 

責(zé)任編輯:武曉燕 來源: cxytiandi
相關(guān)推薦

2019-12-04 07:12:41

前端后端web安全

2020-02-13 09:52:48

加密前后端https

2011-03-31 09:40:46

2023-07-13 07:35:19

2012-05-10 09:50:53

云計(jì)算安全

2022-06-22 09:00:00

安全編程語言工具

2019-08-21 17:10:13

安全技術(shù)網(wǎng)絡(luò)安全網(wǎng)站

2011-02-13 14:36:35

2013-02-18 16:12:55

2013-01-11 14:00:18

云存儲云計(jì)算云安全

2018-10-23 14:24:10

2013-01-15 10:12:39

云存儲云安全

2010-05-17 16:26:36

IIS安全

2023-07-27 12:26:11

2021-05-26 08:49:15

API接口安全

2022-03-10 14:17:11

區(qū)塊鏈數(shù)據(jù)安全技術(shù)

2011-05-25 10:37:03

Oracle數(shù)據(jù)庫安全

2023-11-13 16:08:59

2021-05-20 11:20:52

數(shù)據(jù)隱私安全

2019-06-13 09:00:00

API攻擊數(shù)據(jù)安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产精品suv一区二区三区| 欧美 日韩精品| 99久久免费国产精精品| 久久裸体网站| 日韩欧美一二区| 每日在线观看av| 蜜桃视频在线观看网站| 美女网站色91| 欧美黄色片在线观看| 51调教丨国产调教视频| 91精品店在线| 亚洲人成网站精品片在线观看| 97se国产在线视频| 天天操夜夜操视频| 99久久这里只有精品| 精品久久一区二区三区| 日日摸天天爽天天爽视频| 免费高清完整在线观看| 99久久久久久99| 国产伦精品一区二区三区精品视频| 真实国产乱子伦对白在线| 欧美三级电影在线| 欧美一区二区视频在线观看| 日本wwww视频| 午夜av在线免费观看| 国产人妖乱国产精品人妖| 99re在线观看| 久久久999久久久| 亚洲手机视频| 日韩一中文字幕| 国产精品嫩草av| 国产剧情一区二区在线观看| 日韩欧美高清视频| 中文字幕人妻熟女人妻洋洋| 2017亚洲天堂1024| 91亚洲大成网污www| 亚洲一区二区免费| 正在播放亚洲精品| 亚洲男人影院| 久久久久国产一区二区三区| 手机在线中文字幕| 国产亚洲一区二区三区不卡| 亚洲成人av片在线观看| 久久久久久久久久毛片| 91p九色成人| 高跟丝袜欧美一区| 色欲色香天天天综合网www| 国产高清一区二区三区视频| 国产午夜一区二区三区| 久久青青草综合| 老牛影视av牛牛影视av| 国产精品一区不卡| 91成人免费观看| 国产又粗又猛又爽又黄91| 玖玖国产精品视频| 人九九综合九九宗合| 国产午夜精品一区二区理论影院| 一区二区蜜桃| 超碰97人人做人人爱少妇| 在线视频这里只有精品| 久久视频在线| 日韩视频在线观看免费| 国产91在线播放九色| 成人激情电影在线| 中文字幕精品视频| 少妇一级黄色片| 日韩成人三级| 日韩视频在线一区| 中文字幕五月天| 91精品国偷自产在线电影 | 亚洲国产欧美在线| 999一区二区三区| 成人av影院在线观看| 亚洲午夜免费福利视频| 久久精品视频16| 英国三级经典在线观看| 色噜噜狠狠成人网p站| 色多多视频在线播放| 日韩深夜福利网站| 日韩色视频在线观看| 国产精品手机在线观看| 牲欧美videos精品| 一本大道久久加勒比香蕉| wwwww黄色| 中文在线日韩| 性欧美长视频免费观看不卡| 欧美h在线观看| 日本中文字幕一区二区视频| 成人黄色在线观看| 亚洲第一天堂影院| 久久久美女艺术照精彩视频福利播放| 日韩欧美一区二区三区四区五区| 日本中文字幕视频在线| 一级精品视频在线观看宜春院 | 黄色美女视频在线观看| 欧美日韩在线影院| 蜜臀一区二区三区精品免费视频 | 加勒比在线一区二区三区观看| 亚州av在线播放| 国产精品久久久久aaaa樱花 | 麻豆网站视频在线观看| 一区二区三区精品| 北条麻妃在线一区| 亚洲人成777| 亚洲精品国产精品久久清纯直播| 亚洲激情视频小说| 欧美二区不卡| 日本韩国欧美精品大片卡二| 国产又粗又猛又黄| aa级大片欧美| 制服诱惑一区| 亚洲男人av| 欧美成人性福生活免费看| 在线免费看黄视频| 欧美久久九九| 国产拍精品一二三| 午夜视频福利在线| 亚洲毛片av在线| 高清一区二区视频| 巨人精品**| 九九久久精品一区| 一级片aaaa| 久久综合久久99| 国产乱子伦精品无码专区| 久久69成人| 亚洲精品中文字幕女同| 久久久一二三区| 精品一区二区久久| 少妇免费毛片久久久久久久久| av影视在线看| 日韩一区二区在线看片| 大吊一区二区三区| 免费在线亚洲欧美| 国产精品视频在线免费观看| 国产色在线观看| 欧美日韩在线观看一区二区| 免费看污片网站| 99精品国产在热久久| caoporn国产精品免费公开| 日本暖暖在线视频| 欧美性大战久久久| a天堂中文字幕| 噜噜噜躁狠狠躁狠狠精品视频| 国产呦系列欧美呦日韩呦| 污片在线免费观看| 欧美一区二区黄色| 日本在线一级片| 久久99精品国产麻豆婷婷洗澡| 亚洲国产精品综合| 三级成人在线| 国产小视频91| 国产成人麻豆免费观看| 国产亚洲人成网站| 久久精品午夜福利| 国产精品免费大片| 国产精品成熟老女人| 久久电影中文字幕| 欧美中文一区二区三区| 日本黄色小视频在线观看| 日韩电影免费在线看| 天堂一区二区三区| 欧美另类激情| 久久视频这里只有精品| 国产成人久久精品77777综合| 亚洲人123区| 亚洲精品乱码久久久久久9色| 亚洲最新av| 51精品国产人成在线观看| 欧美人与禽猛交乱配| 亚洲电影免费观看高清完整版在线| 久久久久久久久久久久久久免费看 | 精品久久久久久久久久久久久久久久久久| 久久久久久久免费视频了| www.xxx亚洲| 99精品在线免费在线观看| 亚洲一区二区三区四区视频| 欧美黑人猛交的在线视频| 精品对白一区国产伦| 精品欧美一区二区三区免费观看 | 欧美精品 国产精品| 欧美精品久久久久久久久46p| 国产精品影视在线| 99热亚洲精品| 欧洲美女日日| 亚洲一区中文字幕| 欧美男人天堂| 国产精品天堂蜜av在线播放| 精品成人av一区| 国产精品无码午夜福利| 秋霞午夜鲁丝一区二区老狼| 五月天综合婷婷| 精品欧美午夜寂寞影院| 国产精品99久久久久久久久久久久 | 清纯唯美一区二区三区| 国产精品亚洲欧美日韩一区在线| 欧美激情免费观看| 国产日韩精品在线看| 欧美日本在线播放| 日本三级免费看| 中文字幕免费观看一区| 男人的天堂免费| 香蕉成人久久| 中文字幕一区二区三区四区五区人| jizz国产精品| 国产精品一区久久久| sm在线播放| 日韩中文在线观看| 青青草原免费观看| 国产精品视频在线看| www.美色吧.com| 蜜臀av一区二区在线观看| 国产真人做爰毛片视频直播| 成人激情在线| 久久久久久久久久久久久久一区 | 欧美日韩视频第一区| 国产一级大片在线观看| 国产精品免费人成网站| 亚洲天堂网一区二区| 国产精品一区二区黑丝| 欧美午夜电影网| 国产aⅴ激情无码久久久无码| 国产一区 二区 三区一级| 男人亚洲天堂网| 伊人精品成人久久综合软件| 在线观看一区二区三区三州| 日韩精品免费一区二区三区竹菊 | 9l视频自拍九色9l视频成人| 国产精品视频永久免费播放| 日本午夜大片a在线观看| 久久久精品欧美| 成年人在线观看| 日韩av在线高清| 亚洲高清视频在线播放| 欧美日韩国产a| 波多野结衣绝顶大高潮| 午夜精品久久久久久| 九九九在线视频| 亚洲欧美激情一区二区| 欧美88888| 国产精品色呦呦| 久久丫精品忘忧草西安产品| av不卡在线观看| 久久久久亚洲AV成人无码国产| 国产精品综合在线视频| 手机在线国产视频| 久久国产日韩欧美精品| 亚洲综合欧美激情| 蜜臀av在线播放一区二区三区| 无码人妻精品一区二区三区66| 免费看亚洲片| chinese少妇国语对白| 亚洲一区一卡| 漂亮人妻被中出中文字幕| 国产精品主播| 大肉大捧一进一出好爽动态图| 国产麻豆综合| 日本熟妇人妻xxxxx| 日韩在线卡一卡二| 久久久国产欧美| 蜜桃一区二区三区四区| 一道本在线免费视频| 久久精品国产免费看久久精品| 日本中文字幕观看| 国产专区综合网| 久草福利在线观看| 国产不卡高清在线观看视频| jjzz黄色片| 91伊人久久大香线蕉| 免费毛片视频网站| 国产精品毛片大码女人| 成人免费毛片xxx| 一区二区三区欧美在线观看| 亚洲国产综合久久| 色天天综合色天天久久| 中文字幕一区二区三区人妻四季| 欧美另类一区二区三区| 国产黄色片av| 日韩av在线高清| 亚洲搞黄视频| 欧美精品激情在线观看| 久久uomeier| 国产欧洲精品视频| 99久热这里只有精品视频免费观看| 国产欧美一区二区三区另类精品| 秋霞影院一区二区三区| 亚洲高清乱码| 国户精品久久久久久久久久久不卡| 黄色一级在线视频| 麻豆精品视频在线观看| 美女又黄又免费的视频| 91美女片黄在线观看91美女| 成人午夜免费影院| 夜夜嗨av一区二区三区四季av| 亚洲天堂视频网站| 精品视频在线视频| 亚洲男人天堂久久| 一区二区三区在线播放欧美| 三级资源在线| 国产成人亚洲综合| 亚洲精品黑牛一区二区三区| 欧美日韩一区二区三区在线观看免| 99精品美女| 久久精品视频16| 精品亚洲porn| 亚洲国产天堂av| 亚洲综合无码一区二区| www.五月婷婷.com| 精品嫩草影院久久| 91精彩视频在线观看| 97久久精品视频| 国产精品日本一区二区三区在线 | 在线观看免费的av| 26uuuu精品一区二区| 波多野结衣家庭教师| 日本福利一区二区| 黄色三级网站在线观看| 久久精品99久久久香蕉| 在线天堂新版最新版在线8| 91免费在线视频| 国产欧美日韩一区二区三区四区| 99中文字幕在线观看| 日产欧产美韩系列久久99| 国产成人av无码精品| 亚洲色图欧洲色图婷婷| 青青国产在线视频| 日韩精品在线免费播放| 超级碰碰不卡在线视频| 91色在线视频| 久久国产精品成人免费观看的软件| 欧美精品色婷婷五月综合| 懂色av噜噜一区二区三区av| 免费成年人视频在线观看| 欧美这里有精品| 男女视频在线观看免费| 69久久夜色精品国产69乱青草| 中文字幕一区日韩精品 | 亚洲无线视频| 欧美日韩久久婷婷| 国产精品国产精品国产专区不蜜| 韩国av中文字幕| 亚洲成人aaa| 激情网站在线| 99在线首页视频| 欧美一区二区三区免费看| 欧美特黄aaa| 国产精品久久二区二区| 成人黄色片在线观看| 一本一本久久a久久精品牛牛影视| 亚洲人体影院| 久久av一区二区三区亚洲| 亚洲国产午夜| 国产精品手机在线观看| 精品女厕一区二区三区| 四虎影院在线播放| 日本午夜在线亚洲.国产| 亚洲影院天堂中文av色| 国产精品少妇在线视频| 久久久精品蜜桃| 波多野结衣一二区| 中文字幕日韩欧美| av日韩久久| 成人短视频在线观看免费| 丁香六月久久综合狠狠色| 国产亚洲欧美久久久久 | 成人性生交大片免费看午夜 | 国产成人av电影在线| 免费中文字幕视频| 亚洲娇小xxxx欧美娇小| 亚洲欧美小说色综合小说一区| 日本不卡在线观看| 麻豆成人av在线| 国产黄色片在线免费观看| 精品免费一区二区三区| 一区二区三区电影大全| 亚洲国产一区二区三区在线 | 亚洲国产精品精华液网站| 黄色av免费观看| 国产成人精品久久二区二区| 青青草国产成人a∨下载安卓| 在线看免费毛片| 一区二区三区日韩在线观看| 偷拍自拍在线| 国产剧情日韩欧美| 欧美精品首页| 尤物视频最新网址| 欧美一区二区三区免费观看视频| 成人性生交大片免费看在线播放| 欧美日韩亚洲在线| 国产曰批免费观看久久久| 日韩精品一区二区三| 一区二区三区四区视频| 久久wwww| 91视频最新入口| 日韩一区欧美一区| 亚洲日本中文字幕在线| 成人免费午夜电影| 国产精品永久| 欧美日韩综合一区二区| 亚洲天堂男人天堂女人天堂| 日韩欧美中文字幕在线视频|