成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > MySQL的隱式類型轉(zhuǎn)換整理總結(jié)

MySQL的隱式類型轉(zhuǎn)換整理總結(jié)

熱門標(biāo)簽:桂林云電銷機(jī)器人收費(fèi) 手機(jī)外呼系統(tǒng)違法嗎 清遠(yuǎn)申請(qǐng)400電話 南通電銷外呼系統(tǒng)哪家強(qiáng) 谷歌地圖標(biāo)注位置圖解 東莞外呼企業(yè)管理系統(tǒng) 沈陽智能外呼系統(tǒng)供應(yīng)商 地圖簡(jiǎn)圖標(biāo)注 如何選擇優(yōu)質(zhì)的外呼系統(tǒng)

前言

前幾天在看到一篇文章:價(jià)值百萬的 MySQL 的隱式類型轉(zhuǎn)換感覺寫的很不錯(cuò),再加上自己之前也對(duì)MySQL的隱式轉(zhuǎn)化這邊并不是很清楚,所以就順勢(shì)整理了一下。希望對(duì)大家有所幫助。

當(dāng)我們對(duì)不同類型的值進(jìn)行比較的時(shí)候,為了使得這些數(shù)值「可比較」(也可以稱為類型的兼容性),MySQL會(huì)做一些隱式轉(zhuǎn)化(Implicit type conversion)。

比如下面的例子:

mysql> SELECT 1+'1';
 -> 2
mysql> SELECT CONCAT(2,' test');
 -> '2 test'

很明顯,上面的SQL語句的執(zhí)行過程中就出現(xiàn)了隱式轉(zhuǎn)化。并且從結(jié)果們可以判斷出,第一條SQL中,將字符串的“1”轉(zhuǎn)換為數(shù)字1,而在第二條的SQL中,將數(shù)字2轉(zhuǎn)換為字符串“2”。

MySQL也提供了CAST()函數(shù)。我們可以使用它明確的把數(shù)值轉(zhuǎn)換為字符串。當(dāng)使用CONCA()函數(shù)的時(shí)候,也可能會(huì)出現(xiàn)隱式轉(zhuǎn)化,因?yàn)樗M膮?shù)為字符串形式,但是如果我們傳遞的不是字符串呢:

mysql> SELECT 38.8, CAST(38.8 AS CHAR);
 -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT(38.8);
 -> 38.8, '38.8'

隱式轉(zhuǎn)化規(guī)則

官方文檔中關(guān)于隱式轉(zhuǎn)化的規(guī)則是如下描述的:

If one or both arguments are NULL, the result of the comparison is NULL, except for the NULL-safe => equality comparison operator. For NULL => NULL, the result is true. No conversion is needed.

  • If both arguments in a comparison operation are strings, they are compared as strings.
  • If both arguments are integers, they are compared as integers.
  • Hexadecimal values are treated as binary strings if not compared to a number.
  • If one of the arguments is a TIMESTAMP or DATETIME column and the other argument is a constant, the constant is converted to a timestamp before the comparison is performed. This is done to be more ODBC-friendly. Note that this is not done for the arguments to IN()! To be safe, always use complete datetime, date, or time strings when doing comparisons. For example, to achieve best results when using BETWEEN with date or time values, use CAST() to explicitly convert the values to the desired data type.
    A single-row subquery from a table or tables is not considered a constant. For example, if a subquery returns an integer to be compared to a DATETIME value, the comparison is done as two integers. The integer is not converted to a temporal value. To compare the operands as DATETIME values, use CAST() to explicitly convert the subquery value to DATETIME.
  • If one of the arguments is a decimal value, comparison depends on the other argument. The arguments are compared as decimal values if the other argument is a decimal or integer value, or as floating-point values if the other argument is a floating-point value.
  • In all other cases, the arguments are compared as floating-point (real) numbers.

翻譯為中文就是:

  1. 兩個(gè)參數(shù)至少有一個(gè)是 NULL 時(shí),比較的結(jié)果也是 NULL,例外是使用 => 對(duì)兩個(gè) NULL 做比較時(shí)會(huì)返回 1,這兩種情況都不需要做類型轉(zhuǎn)換
  2. 兩個(gè)參數(shù)都是字符串,會(huì)按照字符串來比較,不做類型轉(zhuǎn)換
  3. 兩個(gè)參數(shù)都是整數(shù),按照整數(shù)來比較,不做類型轉(zhuǎn)換
  4. 十六進(jìn)制的值和非數(shù)字做比較時(shí),會(huì)被當(dāng)做二進(jìn)制串
  5. 有一個(gè)參數(shù)是 TIMESTAMP 或 DATETIME,并且另外一個(gè)參數(shù)是常量,常量會(huì)被轉(zhuǎn)換為 timestamp
  6. 有一個(gè)參數(shù)是 decimal 類型,如果另外一個(gè)參數(shù)是 decimal 或者整數(shù),會(huì)將整數(shù)轉(zhuǎn)換為 decimal 后進(jìn)行比較,如果另外一個(gè)參數(shù)是浮點(diǎn)數(shù),則會(huì)把 decimal 轉(zhuǎn)換為浮點(diǎn)數(shù)進(jìn)行比較
  7. 所有其他情況下,兩個(gè)參數(shù)都會(huì)被轉(zhuǎn)換為浮點(diǎn)數(shù)再進(jìn)行比較

注意點(diǎn)

安全問題:假如 password 類型為字符串,查詢條件為 int 0 則會(huì)匹配上。

mysql> select * from test;
+----+-------+-----------+
| id | name | password |
+----+-------+-----------+
| 1 | test1 | password1 |
| 2 | test2 | password2 |
+----+-------+-----------+
2 rows in set (0.00 sec)

mysql> select * from test where name = 'test1' and password = 0;
+----+-------+-----------+
| id | name | password |
+----+-------+-----------+
| 1 | test1 | password1 |
+----+-------+-----------+
1 row in set, 1 warning (0.00 sec)

mysql> show warnings;
+---------+------+-----------------------------------------------+
| Level | Code | Message   |
+---------+------+-----------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password1' |
+---------+------+-----------------------------------------------+
1 row in set (0.00 sec)

相信上面的例子,一些機(jī)靈的同學(xué)可以發(fā)現(xiàn)其實(shí)上面的例子也可以做sql注入。

假設(shè)網(wǎng)站的登錄那塊做的比較挫,使用下面的方式:

SELECT * FROM users WHERE username = '$_POST["username"]' AND password = '$_POST["password"]'

如果username輸入的是a' OR 1='1,那么password隨便輸入,這樣就生成了下面的查詢:

SELECT * FROM users WHERE username = 'a' OR 1='1' AND password = 'anyvalue'

就有可能登錄系統(tǒng)。其實(shí)如果攻擊者看過了這篇文章,那么就可以利用隱式轉(zhuǎn)化來進(jìn)行登錄了。如下:

mysql> select * from test;
+----+-------+-----------+
| id | name | password |
+----+-------+-----------+
| 1 | test1 | password1 |
| 2 | test2 | password2 |
| 3 | aaa | aaaa |
| 4 | 55aaa | 55aaaa |
+----+-------+-----------+
4 rows in set (0.00 sec)

mysql> select * from test where name = 'a' + '55';
+----+-------+----------+
| id | name | password |
+----+-------+----------+
| 4 | 55aaa | 55aaaa |
+----+-------+----------+
1 row in set, 5 warnings (0.00 sec)

之所以出現(xiàn)上述的原因是因?yàn)椋?/p>

mysql> select '55aaa' = 55;
+--------------+
| '55aaa' = 55 |
+--------------+
| 1 |
+--------------+
1 row in set, 1 warning (0.00 sec)

mysql> select 'a' + '55';
+------------+
| 'a' + '55' |
+------------+
| 55 |
+------------+
1 row in set, 1 warning (0.00 sec)

下面通過一些例子來復(fù)習(xí)一下上面的轉(zhuǎn)換規(guī)則:

mysql> select 1+1;
+-----+
| 1+1 |
+-----+
| 2 |
+-----+
1 row in set (0.00 sec)

mysql> select 'aa' + 1;
+----------+
| 'aa' + 1 |
+----------+
| 1 |
+----------+
1 row in set, 1 warning (0.00 sec)

mysql> show warnings;
+---------+------+----------------------------------------+
| Level | Code | Message  |
+---------+------+----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'aa' |
+---------+------+----------------------------------------+
1 row in set (0.00 sec)

把字符串“aa”和1進(jìn)行求和,得到1,因?yàn)椤癮a”和數(shù)字1的類型不同,MySQL官方文檔告訴我們:

     When an operator is used with operands of different types, type conversion occurs to make the operands compatible.

查看warnings可以看到隱式轉(zhuǎn)化把字符串轉(zhuǎn)為了double類型。但是因?yàn)樽址欠菙?shù)字型的,所以就會(huì)被轉(zhuǎn)換為0,因此最終計(jì)算的是0+1=1

上面的例子是類型不同,所以出現(xiàn)了隱式轉(zhuǎn)化,那么如果我們使用相同類型的值進(jìn)行運(yùn)算呢?

mysql> select 'a' + 'b';
+-----------+
| 'a' + 'b' |
+-----------+
|  0 |
+-----------+
1 row in set, 2 warnings (0.00 sec)

mysql> show warnings;
+---------+------+---------------------------------------+
| Level | Code | Message    |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'b' |
+---------+------+---------------------------------------+
2 rows in set (0.00 sec)

是不是有點(diǎn)郁悶?zāi)兀?/p>

之所以出現(xiàn)這種情況,是因?yàn)?為算術(shù)操作符arithmetic operator 這樣就可以解釋為什么a和b都轉(zhuǎn)換為double了。因?yàn)檗D(zhuǎn)換之后其實(shí)就是:0+0=0了。

再看一個(gè)例子:

mysql> select 'a'+'b'='c';
+-------------+
| 'a'+'b'='c' |
+-------------+
|  1 |
+-------------+
1 row in set, 3 warnings (0.00 sec)

mysql> show warnings;
+---------+------+---------------------------------------+
| Level | Code | Message    |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'b' |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'c' |
+---------+------+---------------------------------------+
3 rows in set (0.00 sec)

現(xiàn)在就看也很好的理解上面的例子了吧。a+b=c結(jié)果為1,1在MySQL中可以理解為TRUE,因?yàn)?a'+'b'的結(jié)果為0,c也會(huì)隱式轉(zhuǎn)化為0,因此比較其實(shí)是:0=0也就是true,也就是1.

第二個(gè)需要注意點(diǎn)就是防止多查詢或者刪除數(shù)據(jù)

mysql> select * from test;
+----+-------+-----------+
| id | name | password |
+----+-------+-----------+
| 1 | test1 | password1 |
| 2 | test2 | password2 |
| 3 | aaa | aaaa |
| 4 | 55aaa | 55aaaa |
| 5 | 1212 | aaa |
| 6 | 1212a | aaa |
+----+-------+-----------+
6 rows in set (0.00 sec)

mysql> select * from test where name = 1212;
+----+-------+----------+
| id | name | password |
+----+-------+----------+
| 5 | 1212 | aaa |
| 6 | 1212a | aaa |
+----+-------+----------+
2 rows in set, 5 warnings (0.00 sec)

mysql> select * from test where name = '1212';
+----+------+----------+
| id | name | password |
+----+------+----------+
| 5 | 1212 | aaa |
+----+------+----------+
1 row in set (0.00 sec)

​上面的例子本意是查詢id為5的那一條記錄,結(jié)果把id為6的那一條也查詢出來了。我想說明什么情況呢?有時(shí)候我們的數(shù)據(jù)庫表中的一些列是varchar類型,但是存儲(chǔ)的值為‘1123'這種的純數(shù)字的字符串值,一些同學(xué)寫sql的時(shí)候又不習(xí)慣加引號(hào)。這樣當(dāng)進(jìn)行select,update或者delete的時(shí)候就可能會(huì)多操作一些數(shù)據(jù)。所以應(yīng)該加引號(hào)的地方別忘記了。

關(guān)于字符串轉(zhuǎn)數(shù)字的一些說明

mysql> select 'a' = 0;
+---------+
| 'a' = 0 |
+---------+
| 1 |
+---------+
1 row in set, 1 warning (0.00 sec)

mysql> select '1a' = 1;
+----------+
| '1a' = 1 |
+----------+
| 1 |
+----------+
1 row in set, 1 warning (0.00 sec)

mysql> select '1a1b' = 1;
+------------+
| '1a1b' = 1 |
+------------+
|  1 |
+------------+
1 row in set, 1 warning (0.00 sec)

mysql> select '1a2b3' = 1;
+-------------+
| '1a2b3' = 1 |
+-------------+
|  1 |
+-------------+
1 row in set, 1 warning (0.00 sec)

mysql> select 'a1b2c3' = 0;
+--------------+
| 'a1b2c3' = 0 |
+--------------+
|  1 |
+--------------+
1 row in set, 1 warning (0.00 sec)

從上面的例子可以看出,當(dāng)把字符串轉(zhuǎn)為數(shù)字的時(shí)候,其實(shí)是從左邊開始處理的。

  1. 如果字符串的第一個(gè)字符就是非數(shù)字的字符,那么轉(zhuǎn)換為數(shù)字就是0
  2. 如果字符串以數(shù)字開頭
  3. 如果字符串中都是數(shù)字,那么轉(zhuǎn)換為數(shù)字就是整個(gè)字符串對(duì)應(yīng)的數(shù)字
  4. 如果字符串中存在非數(shù)字,那么轉(zhuǎn)換為的數(shù)字就是開頭的那些數(shù)字對(duì)應(yīng)的值

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,如果你有其他更好的例子,或者被隱式轉(zhuǎn)化坑過的情況,歡迎分享。希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • MySQL隱式類型的轉(zhuǎn)換陷阱和規(guī)則
  • MySQL隱式類型轉(zhuǎn)換導(dǎo)致索引失效的解決

標(biāo)簽:內(nèi)蒙古 常德 重慶 成都 貴州 湖州 天津 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL的隱式類型轉(zhuǎn)換整理總結(jié)》,本文關(guān)鍵詞  MySQL,的,隱式,類型,轉(zhuǎn)換,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL的隱式類型轉(zhuǎn)換整理總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL的隱式類型轉(zhuǎn)換整理總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产一级黄色大片| 国产精品chinese| 成人片在线看| 国产黄色精品| av激情在线观看| 午夜精品av| 天天插天天射| 在线免费看视频| 影音先锋在线中文| 亚洲国产高清在线观看视频| 欧美视频网站| 亚洲一区二区天堂| 国产xxxxxxxxx| koreanbj精品视频一区| www.com.cn成人| 韩国精品一区二区| 国产第一区电影| 国产精品s色| 久久国产加勒比精品无码| 欧美爱爱视频| 欧美激情一区二区三区久久久| 7777精品伊人久久久大香线蕉超级流畅| 日本成人一区二区三区| 男人和女人做事情在线视频网站免费观看| 亚洲综合色自拍一区| 日韩欧美精品免费在线| caoporn超碰国产公开| 欧美欧美天天天天操| 国产高清中文字幕在线| 狠狠色综合日日| 亚洲欧洲精品一区二区三区不卡| 日韩欧美亚洲一区二区三区| 精品久久久久成人码免费动漫| 九色国产蝌蚪| 一级在线免费视频| aaaaaav| 在线激情视频| 亚洲6080在线| 麻豆视频传媒入口| 国产午夜精品久久| 精品亚洲aⅴ无码一区二区三区| 久草在线在线| 男女污视频在线观看| 国产精品swag| 精品人妻无码一区二区性色| 性chinese极品按摩| 亚洲综合极品香蕉久久网| 欧美调教网站| 欧美专区在线播放| 欧美性在线观看| 欧美日韩另类视频| www久久久久| 在线一区二区不卡| 午夜一区二区三视频在线观看| 亚洲国产精品999| 欧美一卡二卡三卡| 久久99久久99精品免观看粉嫩| 日韩福利影院| 牛牛精品一区二区| 亚洲第一中文字幕| 亚洲精品二区| 国产精品久久久久久久久久99| 成人中文字幕电影| 亚洲社区在线观看| 国产三级精品三级在线专区| 成人激情视频网站| 日韩精品视频在线观看免费| 亚洲国产精品久久艾草纯爱| 顶级黑人搡bbw搡bbbb搡| 91精品国产乱码久久久久久久| 国产成人拍精品视频午夜网站| 疯狂试爱三2浴室激情视频| 成人一级片网址| 欧美激情一二三| 理论片播放午夜国外| 日韩一级高清毛片| 欧美艳星brazzers| 欧美日韩免费高清一区色橹橹| 97影院理论片在线播放| 欧美人与性动交| 中文字幕永久免费视频| 欧美三级超在线视频| 热草久综合在线| 黄色污污视频在线观看| 久久三级福利| 久久久无码人妻精品无码| 成人av在线播放网站| 精品日本一区二区| jlzzjlzz亚洲女人18| 亚洲黄色成人久久久| 欧美亚洲视频在线观看| 2019国产精品自在线拍国产不卡| 亚洲免费国产视频| 精品日产免费二区日产免费二区| 国产精品视频公开费视频| 中文一区在线观看| 美国欧美日韩国产在线播放| av在线不卡免费| 欧美国产激情| 天堂中文在线www| 国产精品久久久久av福利动漫| 亚洲制服丝袜av| 在线观看欧美一区二区| 欧美多人猛交狂配| 国产日韩高清一区二区三区在线| 最近中文字幕在线观看视频| 国产伦精品一区二区三区视频| 成人黄色免费网站| 另类图片国产| 久久男人资源站| 亚洲涩涩在线观看| 国产手机视频一区二区| 免费在线欧美黄色| 久久久久久久免费视频了| 手机在线成人免费视频| 亚洲成av人**亚洲成av**| 国模无码大尺度一区二区三区| 久久成人综合网| 99re在线视频免费观看| 欧美系列亚洲系列| 女女互磨互喷水高潮les呻吟| 国产老熟妇精品观看| 日本久久伊人| 亚洲日本欧美日韩高观看| 激情文学一区| 色一情一乱一伦一区二区三区| 首页亚洲欧美制服丝腿| 自拍偷拍亚洲视频| 成人avav影音| 黄色片av在线| 乱子伦一区二区| 欧美日韩在线播放一区二区| 欧美经典一区二区| 欧美韩国日本| 欧美精品videossex变态| 亚洲欧美日韩爽爽影院| 精品国产av无码| 欧美18免费视频| 国产成人禁片免费观看视频| 精品成人一区二区三区免费视频| www.日本在线播放| 精品乱人伦小说| 亚洲不卡视频在线| 亚洲另类欧美自拍| 国产精品videossex国产高清| 亚洲欧洲日产国产综合网| 欧美另类暴力丝袜| 日韩影视高清在线观看| 黄色日韩网站视频| 超碰高清在线| 久久久久成人精品| 久久噜噜噜精品国产亚洲综合| 99热国产在线中文| 日韩av一区二区三区| 精东传媒在线观看| 日韩国产中文字幕| 波多野结衣欲乱| 粉嫩绯色av一区二区在线观看| 欧美一区二区二区| 午夜天堂影视香蕉久久| 玖玖玖精品中文字幕| 欧美视频第三页| 久久国产精品99久久人人澡| 日韩精品视频免费在线观看| 丁香综合五月| 黑人精品视频| 神马久久一区二区三区| 一本久久a久久免费精品不卡| 国产黄页在线观看| 美女国产在线| 天码人妻一区二区三区在线看| 一区二区视频免费完整版观看| 久久午夜夜伦鲁鲁一区二区| 操日韩av在线电影| 免费一级特黄特色大片| 欧美成人午夜激情| 天堂va欧美va亚洲va老司机| 亚洲精品在线免费播放| 浮力影院欧美三级日本三级| 91精品久久久久久久久不口人| 精品一区二区中文字幕| 欧美精品色一区二区三区| 久久精品99久久| 中文字幕一区日韩精品欧美| 国产风韵犹存在线视精品| 国产精品尤物福利片在线观看| 国产精品视频分类| eeuss鲁片一区二区三区在线观看| 色妇色综合久久夜夜| 亚洲每日在线| 欧美日一区二区三区| 欧美激情视频一区二区三区在线播放| 未满十八勿进黄网站一区不卡| 国产成人av一区二区三区在线观看| 九九视频免费观看视频精品| 制服丝袜成人动漫| 男女污污的视频| 国产精品亚洲第一| 嫩草香蕉在线91一二三区| 91精品国产福利| 91夜夜揉人人捏人人添红杏| 三级黄色在线视频| 亚洲国产欧美日本视频| 久久久久久久久国产| 欧美xxxx性猛交bbbb| 人与牲动交xxxxbbbb高清| 一区精品在线观看| 阿v天堂2017| 亚洲欧美电影| 午夜精品久久久久久久蜜桃app| 国产精品不卡视频| 国产福利电影网| 成人午夜三级| 欧美性生活大片免费观看网址| 麻豆精品91| 一区二区欧美亚洲| 精品无人区无码乱码毛片国产| 久草手机在线观看| xxx国产在线观看| 国产精品一级二级三级| 久99九色视频在线观看| 日本视频在线一区| av一区二区三区免费| 日韩欧美卡一卡二| 日韩精品在线免费观看| 日韩精品中文字幕在线播放| 青草国产精品| 国产伦精品一区二区三区精品视频| 久久婷婷国产麻豆91| 极品久久久久久久| 91麻豆视频在线观看| 一本色道久久88| bbbbbbbbbbb在线视频| 色偷偷9999www| 蜜桃视频动漫在线播放| 男同在线观看| 欧美成人一区二区三区| 久久中文精品视频| 懂色中文一区二区在线播放| 免费的国产精品| 日韩av在线一区| 小说区图片区图片区另类灬| 国产丝袜视频在线播放| 免费精品国产自产拍在| 捆绑调教一区二区三区| 欧美激情资源网| 九九热国产视频| 日韩av电影国产| 亚洲视频在线观看| 999久久久精品一区二区| 欧美一级片在线免费观看| 18以下岁禁止1000部免费| 国产一区二区区别| 色999日韩国产欧美一区二区| 欧美视频在线一区二区三区| 亚洲国产精品久久不卡毛片| 中文字幕一区二区三区四区不卡| 人妻丰满熟妇av无码久久洗澡| 欧美电影《轻佻寡妇》| 日本人视频jizz页码69| jvid福利写真一区二区三区| 嫩草成人www欧美| 视频在线一区二区| 91精品欧美一区二区三区综合在| 国产九色精品成人porny| 欧美一区二区三区爱爱| 国产91精品在线| 农村一级毛片| 久久久www免费人成黑人精品| 亚洲国产成人二区| 亚洲天堂视频在线观看免费| 国产中文av在线| 国产精品国内视频| 首页国产欧美日韩丝袜| 亚洲激情影院| 四虎成年永久免费网站| 成人欧美精品久久久久影院| 日本一区二区三区视频在线播放| 亚洲精品进入| 少妇荡乳情欲办公室456视频| 丰满人妻一区二区三区53号| a√在线中文网新版址在线| 黄瓜视频污app| 午夜三级在线观看| 日韩欧美在线视频观看| 一级毛片在线视频| 日韩国产精品大片| 欧美色图在线观看| 成年人黄色电影| 久草这里只有精品视频| 欧美xxxxb| 欧美日韩激情视频在线观看| av片在线观看| 色综合久久66| 热re66久久精品国产99re| 国产av无码专区亚洲av毛网站| 久久一区二区三区超碰国产精品| 亚洲精品综合精品自拍| 国产麻豆剧果冻传媒视频杜鹃| 国产私拍精品| 乱精品一区字幕二区| 中文字幕在线网址| 成人丁香基地| 国产1区2区| 99久热在线精品996热是什么| 日本黄色www| 老色鬼精品视频在线观看播放| 亚洲一级在线播放| 亚州精品视频| 国产一区二区在线观看免费播放| 伊人成综合网yiren22| **网站欧美大片在线观看| 99色在线视频| 中文在线天堂库| 96sao在线精品免费视频| 欧美18—19性高清hd4k| 欧洲精品久久久久毛片完整版| 国产精品一区二区在线免费观看| 亚洲妇熟xx妇色黄| 日韩国产大片| 丰满少妇高潮一区二区| 日韩综合另类| ririsao中文字幕免费| 成人免费视频国产在线观看| 杨幂毛片午夜性生毛片| 久久亚洲风情| 日韩欧美三区| 日本一本中文字幕|