日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Gin 框架之jwt 介绍与基本使用

發布時間:2024/4/6 windows 56 coder
生活随笔 收集整理的這篇文章主要介紹了 Gin 框架之jwt 介绍与基本使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄
  • 一.JWT 介紹
  • 二.JWT認證與session認證的區別
    • 2.1 基于session認證流程圖
    • 2.2 基于jwt認證流程圖
  • 三. JWT 的構成
    • 3.1 header : 頭部
    • 3.2 payload : 負載
      • 3.2.1 標準中注冊的聲明 (建議但不強制使用)
      • 3.2.2 公共的聲明
      • 3.2.3 私有的聲明
      • 3.2.4 定義一個payload
    • 3.3 signatrue : 簽名
    • 3.4 得到 token
  • 四.base64 編碼和解碼的使用
    • 4.1 base64 編碼
    • 4.2 base64 解碼
  • 五.JWT 的本質原理
    • 5.1 簽發
    • 5.2 校驗
    • 5.3 jwt認證開發流程(重點)
  • 六、Gin 框架中使用jwt
    • 6.1 安裝JWT庫
    • 6.2 導入庫
    • 6.3 使用JWT 鑒權認證
      • 6.3.1 JWT中間件開發
      • 6.3.2 使用JWT中間件
      • 6.3.3 生成JWT token
      • 6.3.4 訪問路由簽發token
      • 6.3.5 通過 token 鑒權獲取用戶信息

一.JWT 介紹

  • Json web token (JWT), 是為了在網絡應用環境間傳遞聲明而執行的一種基于JSON的開放標準(RFC 7519)
  • 該token被設計為緊湊且安全的,特別適用于分布式站點的單點登錄(SSO)場景
  • JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便于從資源服務器獲取資源
  • 也可以增加一些額外的其它業務邏輯所必須的聲明信息,該token也可直接被用于認證,也可被加密

二.JWT認證與session認證的區別

2.1 基于session認證流程圖

服務器需要存儲用戶的token信息

2.2 基于jwt認證流程圖

服務端不需要存儲用戶token, 都存在客戶端

三. JWT 的構成

JWT就是一段字符串, 由三段信息構成, 三段信息文本使用.(點) 拼接就構成了JWT字符串 :

  • eyJhbGciOiJIUzI1sNiIsIn.eyJzdWIiOiIxMjRG9OnRydWV9.TJVArHDcEfxjoYZgeFONFh7HgQ
  • 第一部分我們稱它為頭部 : header
  • 第二部分我們稱其為載荷 : payload (類似于飛機上承載的物品)
  • 第三部分是簽證 : signature

3.1 header : 頭部

頭部,JWT 的元數據,也就是描述這個 token 本身的數據,一個 JSON 對象。由兩部分組成 :

  1. 聲明類型(當前令牌名稱)
  2. 聲明加密算法
// 定義頭部信息
header := map[string]interface{}{
  "alg": "HS256", // 聲明加密算法,可以根據需要修改
  "typ": "JWT",   // 聲明類型
}

將頭部使用base64編碼構成第一部分 (base64編碼方法, 該編碼可以對稱解碼)

package main

import (
	"encoding/base64"
	"encoding/json"
	"fmt"
)

func main() {
	// 定義頭部信息
	header := map[string]interface{}{
		"alg": "HS256", // 聲明加密算法,可以根據需要修改
		"typ": "JWT",   // 聲明類型
	}

	// 將頭部信息序列化為JSON格式字符串
	headerBytes, err := json.Marshal(header)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	headerStr := base64.RawURLEncoding.EncodeToString(headerBytes)

	fmt.Println(headerStr)
	// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
}

3.2 payload : 負載

存放用戶有效信息的地方,一個 JSON 對象, 這些有效信息包含三個部分:

  • 標準中注冊的聲明
  • 公共的聲明
  • 私有的聲明

3.2.1 標準中注冊的聲明 (建議但不強制使用)

  • iss: JWT簽發者
  • sub: JWT所面向的用戶
  • aud: 接收JWT的一方
  • exp: JWT的過期時間,這個過期時間必須要大于簽發時間
  • nbf: 定義在什么時間之前,該JWT都是不可用的
  • iat: JWT的簽發時間
  • jti: JWT的唯一身份標識,主要用來作為一次性token,從而回避時序攻擊

3.2.2 公共的聲明

公共的聲明可以添加任何的信息,一般添加用戶的相關信息或其他業務需要的必要信息。但不建議添加敏感信息,因為該部分在客戶端可解密。

3.2.3 私有的聲明

私有聲明是提供者和消費者所共同定義的聲明,一般不建議存放敏感信息,因為base64是對稱解密的,意味著該部分信息可以歸類為明文信息。

3.2.4 定義一個payload

除了上面的字段, 你自己也可以添加自己想要的字段, 需要注意的是:這些信息是不加密的, 所以最好不要存敏感信息

package main

import (
	"encoding/base64"
	"encoding/json"
	"fmt"
)

func main() {
	// 定義Payload信息
	payload := map[string]interface{}{
		"sub":   "1234567890",              // 主題,表示該JWT的所有者
		"name":  "John Doe",                // 自定義聲明,可以根據需要添加其他聲明
		"iat":   1516239022,                // 簽發時間,表示JWT的簽發時間,一般為當前時間的時間戳
		"exp":   1516239022 + 3600,         // 過期時間,表示JWT的過期時間,一般為簽發時間加上有效期,以秒為單位
		"roles": []string{"admin", "user"}, // 自定義聲明,可以存儲用戶角色等信息
	}

	// 將Payload信息序列化為JSON格式字符串
	payloadBytes, err := json.Marshal(payload)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	payloadStr := base64.RawURLEncoding.EncodeToString(payloadBytes)

	fmt.Println(payloadStr) // eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
}

然后將其進行base64加密,得到JWT的第二部分。

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

3.3 signatrue : 簽名

signature 是根據 headertoken 生成, 由三部分構成 :

  • base64 編碼后的 header
  • base64 編碼后的 payload
  • secret : 秘鑰 (只有服務端知道)

這個部分需要將base64加密后的header和base64加密后的payload使用.連接組成的字符串,然后通過header中聲明的加密方式進行加鹽secret組合加密,然后就構成了JWT的第三部分。

package main

import (
	"crypto/hmac"
	"crypto/sha256"
	"encoding/base64"
	"encoding/json"
	"fmt"
)

func main() {
	// 定義頭部信息
	header := map[string]interface{}{
		"alg": "HS256",
		"typ": "JWT",
	}

	// 定義Payload信息
	payload := map[string]interface{}{
		"sub":   "1234567890",
		"name":  "John Doe",
		"iat":   1516239022,
		"exp":   1516239022 + 3600,
		"roles": []string{"admin", "user"},
	}

	// 將頭部信息序列化為JSON格式字符串
	headerBytes, err := json.Marshal(header)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	headerStr := base64.RawURLEncoding.EncodeToString(headerBytes)

	// 將Payload信息序列化為JSON格式字符串
	payloadBytes, err := json.Marshal(payload)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	payloadStr := base64.RawURLEncoding.EncodeToString(payloadBytes)

	// 定義秘鑰
	secret := "your-secret-key" // 替換為實際的秘鑰

	// 生成簽名
	signature := generateSignature(headerStr, payloadStr, secret)

	fmt.Println(signature) // C-94Wc6olGK6CEbkA9Xj0ogDQIFdPsEefZKCZrz_fvA
	// 生成的簽名字符串
}

func generateSignature(headerStr, payloadStr, secret string) string {
	// 構造要簽名的數據
	dataToSign := headerStr + "." + payloadStr

	// 使用HMAC-SHA256算法生成簽名
	h := hmac.New(sha256.New, []byte(secret))
	h.Write([]byte(dataToSign))
	signatureBytes := h.Sum(nil)

	// 對簽名進行base64編碼
	signature := base64.RawURLEncoding.EncodeToString(signatureBytes)

	return signature
}

3.4 得到 token

算出簽名之后, 把 header、payload、signatrue 三部分使用 .(點) 拼接成一個大字符串, 然后返回給客戶端讓其存儲

package main

import (
	"crypto/hmac"
	"crypto/sha256"
	"encoding/base64"
	"encoding/json"
	"fmt"
)

func main() {
	// 定義頭部信息
	header := map[string]interface{}{
		"alg": "HS256",
		"typ": "JWT",
	}

	// 定義Payload信息
	payload := map[string]interface{}{
		"sub":   "1234567890",
		"name":  "John Doe",
		"iat":   1516239022,
		"exp":   1516239022 + 3600,
		"roles": []string{"admin", "user"},
	}

	// 將頭部信息序列化為JSON格式字符串
	headerBytes, err := json.Marshal(header)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	headerStr := base64.RawURLEncoding.EncodeToString(headerBytes)

	// 將Payload信息序列化為JSON格式字符串
	payloadBytes, err := json.Marshal(payload)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	payloadStr := base64.RawURLEncoding.EncodeToString(payloadBytes)

	// 將base64加密后的header和payload拼接起來
	dataToSign := headerStr + "." + payloadStr

	// 定義秘鑰
	secret := "your-secret-key" // 替換為實際的秘鑰

	// 生成簽名
	signature := generateSignature(dataToSign, secret)

	// 最終的JWT字符串
	jwtToken := dataToSign + "." + signature

	fmt.Println(jwtToken)
	// 最終生成的JWT字符串
	// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MTYyNDI2MjIsImlhdCI6MTUxNjIzOTAyMiwibmFtZSI6IkpvaG4gRG9lIiwicm9sZXMiOlsiYWRtaW4iLCJ1c2VyIl0sInN1YiI6IjEyMzQ1Njc4OTAifQ.C-94Wc6olGK6CEbkA9Xj0ogDQIFdPsEefZKCZrz_fvA
}

func generateSignature(dataToSign, secret string) string {
	// 使用HMAC-SHA256算法生成簽名
	h := hmac.New(sha256.New, []byte(secret))
	h.Write([]byte(dataToSign))
	signatureBytes := h.Sum(nil)

	// 對簽名進行base64編碼
	signature := base64.RawURLEncoding.EncodeToString(signatureBytes)

	return signature
}

注意:secret 是保存在服務器端的,JWT的簽發生成也是在服務器端的,secret 就是用來進行JWT的簽發和JWT的驗證,所以,它就是你服務端的私鑰,在任何場景都不應該流露出去。一旦客戶端得知這個 secret,那就意味著客戶端是可以自我簽發JWT了。

四.base64 編碼和解碼的使用

首先 base64 是一種編碼方式, 并非加密方式; 它跟語言無關, 任何語言都能使用 base64 編碼&解碼

4.1 base64 編碼

	// 定義一個信息字段
	dic := map[string]interface{}{"id": 1, "name": "jarvis", "age": "male"}
	
	// 將其序列化成json格式字符串
	jsonBytes, err := json.Marshal(dic)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}
	jsonStr := string(jsonBytes)
	
	// 將json格式字符串encode再使用base64編碼成一串Bytes格式編碼
	base64Str := base64.StdEncoding.EncodeToString([]byte(jsonStr))
	
	fmt.Println([]byte(base64Str))
	// [101 121 74 112 90 67 73 54 73 68 69 115 73 67 50 70 109 90 121 66 67 74 112 73 106 111 103 73 109 70 48 105 71 108 112 77 97 86 120 73 106 111 103 73 109 116 65 87 120 108 73 106 111 103 73 109 116 65 87 120 108 73 106 111 103 73 109 116 65 87 120 108 73 106 111 103 73 61]
	fmt.Println(base64Str)
	// eyJhZ2UiOiJtYWxlIiwiaWQiOjEsIm5hbWUiOiJqYXJ2aXMifQ==

4.2 base64 解碼

// 替換為你的 base64 編碼字符串
	base64Str := "eyJhZ2UiOiJtYWxlIiwiaWQiOjEsIm5hbWUiOiJqYXJ2aXMifQ=="

	// base64 解碼
	decodedBytes, err := base64.StdEncoding.DecodeString(base64Str)
	if err != nil {
		fmt.Println("Base64 decoding error:", err)
		return
	}

	// JSON 反序列化
	var dic map[string]interface{}
	err = json.Unmarshal(decodedBytes, &dic)
	if err != nil {
		fmt.Println("JSON decoding error:", err)
		return
	}

	fmt.Println(dic)
	// map[age:male id:1 name:jarvis]

五.JWT 的本質原理

/*
1)jwt分三段式:頭.體.簽名 (head.payload.sgin)
2)頭和體是可逆加密,讓服務器可以反解出user對象;簽名是不可逆加密,保證整個token的安全性的
3)頭體簽名三部分,都是采用json格式的字符串,進行加密,可逆加密一般采用base64算法,不可逆加密一般采用hash(md5)算法
4)頭中的內容是基本信息:公司信息、項目組信息、token采用的加密方式信息
{
	"company": "公司信息",
	...
}
5)體中的內容是關鍵信息:用戶主鍵、用戶名、簽發時客戶端信息(設備號、地址)、過期時間
{
	"user_id": 1,
	...
}
6)簽名中的內容時安全信息:頭的加密結果 + 體的加密結果 + 服務器不對外公開的安全碼 進行md5加密
{
	"head": "頭的加密字符串",
	"payload": "體的加密字符串",
	"secret_key": "安全碼"
}
*/

5.1 簽發

根據登錄請求提交來的 賬號 + 密碼 + 設備信息 簽發 token

  • 用基本信息存儲 json 字典, 采用 base64 編碼得到頭字符串
  • 用關鍵信息存儲 json 字典,采用 base64 編碼得到體字符串
  • 用頭、體編碼的字符串再加安全碼信息(secret)存儲 json 字典, 采用 header 中指定的算法加密得到簽名字符串
  • 最后形成的三段字符串用 . 拼接成token字符串返回給前臺

5.2 校驗

根據客戶端帶 token 的請求 反解出 user 對象

  • 將 token 按 .(點) 拆分為三段字符串, 第一段編碼后的頭字符串一般不需要做任何處理
  • 第二段編碼后的體字符串, 要解碼出用戶主鍵, 通過主鍵從 User 表中就能得到登錄用戶, 過期時間和設備信息都是安全信息, 確保 token 沒過期, 且是同一設備來的
  • 再將第一段 + 第二段 + 服務器安全碼使用header中指定的不可逆算法加密, 與第三段 簽名字符串進行對比校驗, 通過后才能代表第二段校驗得到的 user 對象就是合法的登錄用戶

5.3 jwt認證開發流程(重點)

  1. 用賬號密碼訪問登錄接口,登錄接口邏輯中調用簽發token算法,得到token,返回給客戶端,客戶端自己存到cookies中。

  2. 校驗token的算法應該寫在中間件中,所有請求都會進行認證校驗,所以請求帶了token,就會反解出用戶信息。

六、Gin 框架中使用jwt

6.1 安裝JWT庫

使用Gin框架時,你可以選擇一個適用于Go語言的JWT庫。一個流行的選擇是github.com/dgrijalva/jwt-go庫。

go get -u github.com/golang-jwt/jwt/v5

6.2 導入庫

在你的Go代碼中導入github.com/golang-jwt/jwt/v5github.com/gin-gonic/gin

import (
    "github.com/golang-jwt/jwt/v5"
    "github.com/gin-gonic/gin"
)

6.3 使用JWT 鑒權認證

6.3.1 JWT中間件開發

JWT中間件: 創建一個JWT中間件,它將用于保護需要身份驗證的路由。

package middleware

import (
	"github.com/gin-gonic/gin"
	"github.com/golang-jwt/jwt/v5"
	"net/http"
	"strings"
	"webook/internal/web"
)

// LoginJWTMiddlewareBuilder JWT 登錄校驗
type LoginJWTMiddlewareBuilder struct {
	paths []string
}

func NewLoginJWTMiddlewareBuilder() *LoginJWTMiddlewareBuilder {
	return &LoginJWTMiddlewareBuilder{}
}

// IgnorePaths 忽略的路徑
func (l *LoginJWTMiddlewareBuilder) IgnorePaths(path string) *LoginJWTMiddlewareBuilder {
	l.paths = append(l.paths, path)
	return l
}

func (l *LoginJWTMiddlewareBuilder) Build() gin.HandlerFunc {
	// 用 Go 的方式編碼解碼
	return func(ctx *gin.Context) {
		// 不需要登錄校驗的
		for _, path := range l.paths {
			if ctx.Request.URL.Path == path {
				return
			}
		}
		// 用 JWT 來校驗
		tokenHeader := ctx.GetHeader("Authorization")
		if tokenHeader == "" {
			// 沒登錄
			ctx.AbortWithStatus(http.StatusUnauthorized)
			return
		}
		segs := strings.Split(tokenHeader, " ")
		if len(segs) != 2 {
			// 沒登錄,有人瞎搞
			ctx.AbortWithStatus(http.StatusUnauthorized)
			return
		}
		tokenStr := segs[1]
		claims := &web.UserClaims{}
		// ParseWithClaims 里面,一定要傳入指針
		// 這里的95osj3fUD7fo0mlYdDbncXz4VD2igvf0 代表的是簽發的時候的key,并且key 要和簽發的時候一樣
		token, err := jwt.ParseWithClaims(tokenStr, claims, func(token *jwt.Token) (interface{}, error) {
			return []byte("95osj3fUD7fo0mlYdDbncXz4VD2igvf0"), nil
		})
		if err != nil {
			// 沒登錄
			ctx.AbortWithStatus(http.StatusUnauthorized)
			return
		}
		// token 驗證不通過
		if token == nil || !token.Valid {
			// 沒登錄
			ctx.AbortWithStatus(http.StatusUnauthorized)
			return
		}
		// 將用戶信息存儲到上下文中
		ctx.Set("claims", claims)
	}
}

6.3.2 使用JWT中間件

使用JWT中間件: 在需要身份驗證的路由上使用JWT中間件。

func initWebServer() *gin.Engine {
	ser := gin.Default()
	ser.Use(cors.New(cors.Config{
		//AllowOrigins: []string{"*"},
		//AllowMethods: []string{"POST", "GET"},
		AllowHeaders: []string{"Content-Type", "Authorization"},
		// 允許跨域訪問的響應頭,不加這個前端拿不到token響應頭
		ExposeHeaders: []string{"x-jwt-token"},
		// 是否允許你帶 cookie 之類的東西
		AllowCredentials: true,
		AllowOriginFunc: func(origin string) bool {
			if strings.HasPrefix(origin, "http://localhost") {
				// 你的開發環境
				return true
			}
			return strings.Contains(origin, "http://你的公司域名.com")
		},
		MaxAge: 12 * time.Hour,
	}))
  // 注冊登錄校驗中間件以及不要登錄校驗的路徑
	ser.Use(middleware.NewLoginJWTMiddlewareBuilder().
		IgnorePaths("/users/signup").
		IgnorePaths("/users/login").Build())
	return ser
}

6.3.3 生成JWT token

生成JWT token: 在用戶登錄成功后,你可以生成JWT并將其返回給客戶端。

// UserClaims 自定義的聲明結構體并內嵌 jwt.StandardClaims
type UserClaims struct {
	jwt.RegisteredClaims
	// 聲明你自己的要放進去 token 里面的數據
	Uid int64
	// 后續需要什么字段,就在這里添加
}

func (u *UserHandler) LoginJWT(ctx *gin.Context) {
	type LoginReq struct {
		Email    string `json:"email"`
		Password string `json:"password"`
	}

	var req LoginReq
	if err := ctx.Bind(&req); err != nil {
		return
	}
	user, err := u.svc.Login(ctx, req.Email, req.Password)
	if err == service.ErrInvalidUserOrPassword {
		ctx.String(http.StatusOK, "用戶名或密碼不對")
		return
	}
	if err != nil {
		ctx.String(http.StatusOK, "系統錯誤")
		return
	}

	// 步驟2
	// 在這里用 JWT 設置登錄態
	// 生成一個 JWT token
	// 將用戶信息存儲到token中
	claims := UserClaims{
		Uid: user.Id,
	}
	token := jwt.NewWithClaims(jwt.SigningMethodHS512, claims)
	tokenStr, err := token.SignedString([]byte("95osj3fUD7fo0mlYdDbncXz4VD2igvf0"))
	if err != nil {
		ctx.String(http.StatusInternalServerError, "系統錯誤")
		return
	}
	ctx.Header("x-jwt-token", tokenStr)
	fmt.Println(user)
	ctx.String(http.StatusOK, "登錄成功")
	return
}

6.3.4 訪問路由簽發token

我們通過接口調試工具訪問路由127.0.0.1:8080/users/login 簽發用戶tokenheader 中就會有X-Jwt-Token這個字段以及生成的token 對應值。

6.3.5 通過 token 鑒權獲取用戶信息

在平時開發中,我們一般不會直接傳user_id 過來,一般是通過token來獲取用戶信息,比如我們需要查詢用戶信息,之前我們已經將用戶ID放入到token中了,直接通過c, _ := ctx.Get("claims")來獲取我們存放的用戶信息,以下是具體代碼;

func (u *UserHandler) ProfileJWT(ctx *gin.Context) {
	c, _ := ctx.Get("claims")
	// 你可以斷定,必然有 claims
	//if !ok {
	//	// 你可以考慮監控住這里
	//	ctx.String(http.StatusOK, "系統錯誤")
	//	return
	//}
	// ok 代表是不是 *UserClaims
	claims, ok := c.(*UserClaims)
	if !ok {
		// 你可以考慮監控住這里
		ctx.String(http.StatusOK, "系統錯誤")
		return
	}
	fmt.Println("當前用戶ID為:", claims.Uid)
	ctx.String(http.StatusOK, "查詢成功")
}

最后我們只需要訪問路由:127.0.0.1:8080/users/profile,在header中加入token 即可。

總結

以上是生活随笔為你收集整理的Gin 框架之jwt 介绍与基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久精品日产第一区二区三区乱码 | 国产一区二区精品久久 | 在线观看黄 | 亚洲无吗av | 欧美日韩久久一区 | 国产麻豆剧果冻传媒视频播放量 | 精品久久久久久久久久久久久久久久久久 | 亚洲女欲精品久久久久久久18 | 国产91在线观 | 亚洲国产视频在线 | 天天操夜夜干 | 一区二区在线影院 | 中文字幕一区二区三区四区 | 五月综合 | 激情视频免费在线观看 | 激情六月婷婷久久 | 丁香六月在线 | 91视频在线观看下载 | 亚洲国产日韩一区 | 亚洲精品乱码久久久久久蜜桃动漫 | 亚洲精品免费在线播放 | 日韩av二区 | 国产最顶级的黄色片在线免费观看 | 欧美精品乱码久久久久 | 曰本三级在线 | 久久精品国产精品亚洲精品 | 狠狠色噜噜狠狠 | 久久国产精品免费一区二区三区 | 香蕉久草在线 | 国产麻豆视频在线观看 | 久久精品牌麻豆国产大山 | 久久精品国产一区二区 | 黄色av一级 | 中文字幕999 | 免费成人在线观看 | 一色屋精品视频在线观看 | 亚洲精品资源在线 | 午夜精品视频免费在线观看 | 色国产精品一区在线观看 | 欧美 日韩 成人 | 国产精品12345 | 在线精品视频免费播放 | 九九久久国产精品 | 久久综合九色综合网站 | 国产精品美女网站 | 久久国产美女视频 | 国产91精品一区二区麻豆网站 | 国产精品va最新国产精品视频 | 黄色午夜 | 一区二区三区日韩视频在线观看 | 91c网站色版视频 | 国产精品九色 | 天天天天天天操 | 国产成人av网址 | 国产日韩在线播放 | 亚洲精品永久免费视频 | 免费看国产黄色 | 99免费视频| 中文字幕在线观看免费 | 国产一二三区av | 美女福利视频一区二区 | 午夜12点 | 亚洲视频第一页 | 欧美日韩另类在线 | 国产一区二区久久精品 | 99精品在线视频播放 | 日韩欧美视频免费看 | 96久久| av丝袜在线 | 午夜精品久久久久久久99热影院 | 超碰人人超 | 91精品久久久久 | 精品视频免费久久久看 | 美州a亚洲一视本频v色道 | 亚洲精品美女在线 | 国产亚洲精品bv在线观看 | 91九色视频观看 | 丁香高清视频在线看看 | 久久精品一二三区白丝高潮 | 中文字幕 成人 | 久久激情综合 | 国产 日韩 欧美 自拍 | 超碰在线cao | 久久久久观看 | 久久久久久久18 | 天天操天天干天天操天天干 | 国产一区二区三区高清播放 | 天堂在线v| 国产精品毛片久久久久久久久久99999999 | 国产高清亚洲 | 91丨九色丨国产在线 | 伊人伊成久久人综合网小说 | 免费观看成人网 | 国产不卡毛片 | 国产精品毛片一区视频播 | 欧美最新大片在线看 | 蜜臀av在线一区二区三区 | 免费黄色a级毛片 | 成人动漫一区二区三区 | 狠狠色综合网站久久久久久久 | 欧美一级性生活片 | 91麻豆精品 | 成 人 黄 色 视频 免费观看 | av不卡网站 | 久久久免费毛片 | 天天操天天射天天操 | 国产美女无遮挡永久免费 | 国产一区二区三精品久久久无广告 | 日本中文字幕观看 | 激情六月婷婷久久 | 91精品色 | 狠狠色丁香九九婷婷综合五月 | 91桃色视频| 特级黄录像视频 | 日韩三级久久 | 国产福利精品在线观看 | 国产精品mm | 97精品国产一二三产区 | 日韩欧美一区二区三区免费观看 | 久久好看免费视频 | 91久久精品日日躁夜夜躁国产 | 97精品国产97久久久久久粉红 | 亚洲精品456在线播放乱码 | 欧美 激情在线 | 男女免费av | 久久草精品 | 青青河边草免费观看完整版高清 | 成人午夜片av在线看 | 在线免费av播放 | 久久久久久久久久亚洲精品 | 在线激情网 | 91香蕉视频黄色 | 久艹在线免费观看 | 国产精品av免费在线观看 | 国产精品6 | 国产亚洲精品久久久久久移动网络 | 欧美久久久久久 | 久久国产成人午夜av影院宅 | 国产精品美女久久久久久免费 | 久久99国产精品免费 | 美女黄久久 | 日韩四虎| 久草在线免费看视频 | 99精品在线播放 | 久久国产欧美日韩精品 | 国产色综合天天综合网 | 亚洲精品1234区 | 波多野结衣动态图 | www.狠狠色 | 天天色天天操天天爽 | 国模一区二区三区四区 | 91av在线免费看 | 日日日天天天 | 日韩理论片中文字幕 | 免费91在线 | 亚洲国产精品久久久久 | 婷婷在线看 | 国产高清视频免费 | 色多多视频在线观看 | 久久久久久久久久久黄色 | 久久高清 | 成年人在线免费看视频 | 婷婷色综合网 | 国产色一区 | 免费看黄电影 | 又黄又爽的视频在线观看网站 | 在线观看黄色大片 | 91精品专区 | 激情电影影院 | 麻豆成人精品视频 | 亚洲码国产日韩欧美高潮在线播放 | 99免费国产 | 伊人射 | 中文字幕在线观看完整 | 亚洲国产成人精品在线观看 | 99色网站 | 国产最新视频在线 | 国产成人久久精品77777 | 久久久久久久久久福利 | 美女网站色免费 | 免费观看av | 91视视频在线直接观看在线看网页在线看 | 欧美少妇影院 | 黄色小网站在线观看 | 国产又粗又猛又色又黄视频 | 玖玖爱国产在线 | 夜色.com| 丁香激情综合久久伊人久久 | 亚一亚二国产专区 | 91观看视频 | 国产精品久久久久久久久久了 | 亚洲不卡在线 | 亚洲黄色一级电影 | 在线免费日韩 | 国产精品亚洲片在线播放 | 久久国产视频网站 | 亚洲精欧美一区二区精品 | 国产免费又黄又爽 | 九九免费视频 | 国产精品久久久久久久7电影 | 九九热只有这里有精品 | 99精品视频一区 | 日韩精品一区在线播放 | 91精品视频在线免费观看 | 91av电影在线观看 | 人人爽人人做 | 国产二区免费视频 | 国产精品一区二区 91 | 青青啪 | 久草在线欧美 | 久久99久久久久 | 色视频在线免费观看 | 亚洲综合成人在线 | 日韩黄色中文字幕 | 精品国产乱子伦一区二区 | 五月天婷婷在线视频 | 亚洲精品理论 | 日韩理论在线观看 | 国产精品丝袜 | 日韩激情av在线 | 国产福利小视频在线 | 精品国产一区二区三区噜噜噜 | 久久免费视频国产 | 亚洲国产久 | 国产精品久久久久永久免费看 | 在线看一区二区 | 久久久久久久久久久久久久电影 | www.eeuss影院av撸| 久久这里只有精品视频首页 | 午夜久久久久久久久久影院 | 不卡日韩av | 久久午夜精品影院一区 | 久久高视频| 国产精品久久人 | 久久艹精品 | 久久免费a| 欧美 高跟鞋交 xxxxhd | 97国产情侣爱久久免费观看 | 一区在线电影 | 亚洲国产一区二区精品专区 | 国产高清专区 | 亚洲欧美偷拍另类 | 国产成人精品一区一区一区 | 亚州五月| 国产欧美日韩精品一区二区免费 | 久草手机视频 | 国产 亚洲 欧美 在线 | 在线免费观看国产 | 免费视频 三区 | 天天干天天拍天天操天天拍 | 精品免费久久久久久 | 国产精品久久久影视 | 久久综合偷偷噜噜噜色 | 成人av久久| 新av在线| 成人动态视频 | 91看片淫黄大片一级在线观看 | 激情五月av| 2022久久国产露脸精品国产 | 色婷婷综合久久久中文字幕 | 91一区一区三区 | 国产精品一区二区在线免费观看 | 欧美日韩亚洲在线观看 | 欧美日韩在线观看一区二区三区 | 在线97 | 国产视频一区精品 | 热re99久久精品国产66热 | 天天干天天干天天 | 久草在在线 | 国产精品久久久毛片 | av爱干 | 伊人永久 | 色婷在线 | 丁香六月婷婷开心 | 久久久久久久久久久高潮一区二区 | 99在线精品视频在线观看 | 五月激情综合婷婷 | 国产日韩在线视频 | 久草.com| 国产精品网红直播 | 国产精品爽爽爽 | 国产精品九色 | 国产日韩中文在线 | 日本中文字幕在线播放 | 91你懂的 | av黄色在线观看 | www毛片com| 91在线免费视频观看 | 中文国产成人精品久久一 | 超碰个人在线 | 国产成人黄色片 | 综合网天天色 | 天天在线视频色 | 日本精品久久 | 精品国产精品一区二区夜夜嗨 | 国模视频一区二区三区 | 亚洲h在线播放在线观看h | 中文字幕久久精品亚洲乱码 | 美女免费视频一区二区 | 麻豆视频在线免费看 | 在线免费av电影 | 激情五月婷婷综合网 | 999视频在线观看 | 性色av免费看 | 久久久久综合精品福利啪啪 | 久久久久国产精品一区 | 婷婷九月激情 | 久久综合电影 | 亚洲欧美日韩精品久久奇米一区 | 欧美色图亚洲图片 | 日本一区二区三区视频在线播放 | 亚洲丝袜中文 | 亚洲国产久 | 国产91免费观看 | 亚洲国产成人在线观看 | 黄色免费视频在线观看 | 国内视频在线观看 | 国产探花| 91在线公开视频 | 91亚洲精品久久久久图片蜜桃 | 亚洲乱码中文字幕综合 | 精品国产乱码久久久久久浪潮 | 97超碰人人澡人人爱 | 久久久久久久久久久网 | 黄色毛片在线 | 天天操夜操视频 | 欧美极品xxx | 亚洲三级性片 | 成年人在线观看 | 国产精品久久久久一区二区 | 六月婷婷久香在线视频 | 久久午夜视频 | 开心丁香婷婷深爱五月 | 国产成人三级在线观看 | 麻豆91精品视频 | 九色琪琪久久综合网天天 | 亚洲婷婷伊人 | 天天干中文字幕 | av高清一区二区三区 | 日韩午夜在线 | 伊人影院99 | 高潮毛片无遮挡高清免费 | 亚洲精区二区三区四区麻豆 | 日韩另类在线 | 一区在线电影 | 亚洲乱码精品久久久 | 亚洲精品国偷自产在线99热 | 久久免费成人精品视频 | 亚洲一区 影院 | 在线观看中文字幕网站 | 福利二区视频 | 日韩精品播放 | 国产手机在线视频 | www.久久久久 | 久青草视频 | 九九九视频精品 | 欧美经典久久 | 成年人在线播放视频 | a在线观看视频 | 免费看的黄色的网站 | a级黄色片视频 | 国产精品久久片 | 一级a性色生活片久久毛片波多野 | 91在线小视频 | 久久精品视频网 | 精品在线视频一区二区三区 | 中文字幕在线免费观看视频 | 午夜丁香视频在线观看 | 精品国产免费久久 | aa一级片| 香蕉久久久久久久 | 欧美极品在线播放 | 国产精品区二区三区日本 | 国产精品理论片在线观看 | 另类老妇性bbwbbw高清 | 久久99亚洲精品久久 | 久久免费看视频 | 成人午夜电影免费在线观看 | 九九在线国产视频 | 三级黄色欧美 | 免费观看特级毛片 | 天天综合成人网 | 国产又粗又猛又爽又黄的视频先 | 久久久久久久久久久久久9999 | 超碰人人av| 婷婷丁香花 | 久久久亚洲国产精品麻豆综合天堂 | 欧美午夜一区二区福利视频 | 黄色资源在线 | 日日夜夜婷婷 | 亚洲mv大片欧洲mv大片免费 | 国内精品久久久久久久影视简单 | 午夜男人影院 | 韩日三级av| 国产精品 中文在线 | 在线免费观看黄色 | 精品久久久久久久久久国产 | www天天干 | 久要激情网 | 欧美激情综合网 | 99热在线精品观看 | 三级黄色片子 | 看国产黄色片 | 成人在线超碰 | 99精品国产99久久久久久97 | 久久99精品国产麻豆婷婷 | 国产日韩视频在线播放 | www.夜色.com | 久久午夜国产 | 国产欧美精品一区二区三区四区 | 国产伦精品一区二区三区高清 | 免费v片| 国产亚洲视频在线免费观看 | 日本最新高清不卡中文字幕 | 一区 二区 精品 | 久久国产免费看 | 亚洲精品在线免费播放 | 国产精品一区免费观看 | 久草久视频 | 亚洲国产免费 | 天天操天天操天天操天天操 | 久久99亚洲精品久久 | 欧美爽爽爽 | 福利视频导航网址 | 国产一级在线看 | 一本一本久久aa综合精品 | 亚洲电影成人 | 天堂网一区二区 | 国产精品99久久免费黑人 | 91精品国产综合久久婷婷香蕉 | 亚洲欧美va | 欧美黑人猛交 | 激情五月六月婷婷 | 中日韩欧美精彩视频 | 国产中文字幕久久 | 日本中文一级片 | 久草久视频 | 欧美一级黄色片 | 久久97精品 | 人人舔人人爽 | 91久久久久久国产精品 | 国产女v资源在线观看 | 精品亚洲一区二区 | 国产精品久久久久久久久久久久久 | 国产精品久久久久999 | 免费久久久久久 | 日韩特黄一级欧美毛片特黄 | 蜜臀精品久久久久久蜜臀 | 久久久免费看片 | 日韩精品一区二区三区水蜜桃 | 97超在线| 9797在线看片亚洲精品 | 婷婷中文字幕综合 | 国产午夜三级 | 四虎成人精品永久免费av九九 | 91精品一区在线观看 | 久热色超碰 | 97超碰超碰久久福利超碰 | 久久成人黄色 | 黄色av成人在线 | 午夜国产一区 | 精品国产1区 | 成人一区二区三区在线观看 | 狠狠躁夜夜a产精品视频 | 免费下载高清毛片 | 美女视频黄,久久 | 91高清完整版在线观看 | 成年人视频在线免费观看 | 日日干夜夜草 | 午夜视频在线观看一区二区 | 日韩久久精品一区 | www.伊人网 | 五月婷在线视频 | 日韩在线观看 | 在线观看www视频 | 日韩精品免费一区二区在线观看 | 99精品视频在线免费观看 | 欧美日韩国产页 | 黄色网址国产 | 精品国产伦一区二区三区观看方式 | 久久久久一区二区三区四区 | 91精品国产福利在线观看 | 狠狠狠色丁香综合久久天下网 | av黄色影院 | 在线欧美最极品的av | 成人97视频一区二区 | 六月婷操 | 欧美日韩精品在线 | 亚洲国产精品久久久 | 一区电影| 欧美粗又大| 国产一区二区三区四区在线 | 日韩电影在线观看一区 | 综合天天色 | 色久网| 亚州av免费| 少妇精69xxtheporn | 国产精品国产亚洲精品看不卡 | 国产特黄色片 | 久久国产精品影片 | 在线a亚洲视频播放在线观看 | 色网站免费在线观看 | 日日夜夜人人精品 | 国产va在线观看免费 | 99精品一区| 亚洲综合视频在线 | 2019中文| 欧美久久精品 | 91丨九色丨首页 | 一区二区三区久久精品 | a久久久久 | 蜜桃视频色| 一级一级一片免费 | 日韩欧美视频免费观看 | 成人xxxx| 亚洲午夜av电影 | 国内偷拍精品视频 | 久久国产精品一区二区 | 久久国产精品99久久久久久老狼 | 亚州日韩中文字幕 | 欧美网址在线观看 | 精品久久久精品 | 亚洲国内精品 | 人人射人人爱 | 欧美爽爽爽| 国偷自产中文字幕亚洲手机在线 | 久久综合狠狠综合久久狠狠色综合 | 亚洲1区在线| 91桃花视频 | 亚洲日本黄色 | 天天综合网天天综合色 | 久久这里只有精品1 | 亚洲黄色小说网址 | www.com操| 国产91精品一区二区 | 国产亚洲免费的视频看 | 天天爽天天摸 | 99精品久久久久久久久久综合 | 久久免费观看视频 | 午夜精品一区二区三区在线观看 | 国产女v资源在线观看 | 最近中文字幕mv | 欧美激情一区不卡 | 黄色一集片 | 国产精品久久99 | 五月婷婷狠狠 | 日韩精品久久久久久中文字幕8 | 成人av一区二区兰花在线播放 | 国产精品久久久久久久久久久久午 | 亚洲伊人第一页 | 午夜精品一区二区国产 | 国内精品在线一区 | 午夜视频日本 | av电影免费在线播放 | 国产精品自产拍在线观看网站 | 久久久精品福利视频 | 国产精品片 | 国产成年免费视频 | 色插综合| 欧美精品亚洲二区 | 免费高清在线观看成人 | 97在线视频免费观看 | 免费观看的黄色片 | a视频免费看 | 国产在线不卡一区 | 久久久99精品免费观看 | 99视频免费在线观看 | 久久这里只有精品23 | 在线观看91精品视频 | 国产精品一区二区免费看 | 男女男视频| 久视频在线播放 | 午夜色站 | 丁香视频在线观看 | 91大神免费视频 | 免费久久久久久久 | 四川bbb搡bbb爽爽视频 | 天天做天天爽 | 久久人网 | 国内久久久 | 免费视频久久久久久久 | 992tv人人草 黄色国产区 | 免费福利视频网 | 欧美激情精品久久 | 蜜桃视频在线观看一区 | 麻豆视频在线观看 | 国产一区二区成人 | 91香蕉视频污在线 | 欧美精品一区在线发布 | 中文字幕乱码在线播放 | 日韩在线免费高清视频 | 91精品资源 | 亚洲欧洲久久久 | 精品视频亚洲 | 国产黄色精品视频 | 一本一道久久a久久精品蜜桃 | 五月天视频网站 | 国产一级电影网 | 国内精品久久久久影院一蜜桃 | 久久视频99| 亚洲成人av在线电影 | 久久不卡免费视频 | 中文字幕视频一区 | 国产成人久久精品一区二区三区 | 久久久精品视频网站 | 99久热在线精品视频 | 日韩无在线 | 国产精品久久久久一区二区 | 91色视频 | 五月天高清欧美mv | 少妇bbbb| 在线观看91精品国产网站 | av超碰在线 | 中文字幕色婷婷在线视频 | 久久久久综合 | 91色亚洲 | 欧美亚洲专区 | 久久久久久久毛片 | 欧美日韩免费一区二区三区 | 天天干天天操天天爱 | 99免费国产 | 涩涩资源网 | 天天曰夜夜爽 | 国产精品青青 | 青青网视频 | 玖玖色在线观看 | 婷婷视频在线 | 麻豆视频免费入口 | 国产成人三级在线播放 | 免费观看91 | 视频一区二区国产 | 激情欧美一区二区免费视频 | 国产五月天婷婷 | 在线观看精品黄av片免费 | 狠狠狠干| 中文字幕字幕中文 | 一级片视频免费观看 | 人人插人人搞 | 日日天天干 | 一级黄色片毛片 | 久久午夜精品 | 99久久精品国产亚洲 | 日韩av在线网站 | 成人在线播放视频 | 不卡视频一区二区三区 | 欧美a级在线 | 亚洲国产成人av网 | 午夜电影一区 | av黄色免费在线观看 | 91精品成人 | 日韩r级在线 | 日韩欧美在线高清 | 日日摸日日碰 | 超碰97人人在线 | 国产视频一区二区在线观看 | 在线观看韩国av | 久久久福利视频 | 欧美日韩精品久久久 | 欧美性粗大hdvideo | 97在线观看 | 不卡电影免费在线播放一区 | 中文字幕在线有码 | 98超碰在线观看 | 国产精品久久久久一区二区三区共 | 99在线精品视频观看 | 天天做天天爱天天综合网 | 九九热精品视频在线播放 | 国产精品专区一 | 欧美影院久久 | 91人人干 | 免费在线观看av的网站 | 日韩在线网址 | 永久免费观看视频 | 91精品视频在线 | 日韩免费在线观看 | 日本美女xx| 国产精品va在线观看入 | 国产玖玖精品视频 | 日韩av线观看 | 国产中文在线播放 | 992tv人人网tv亚洲精品 | 亚洲精品五月 | 国产精品一区二区62 | 最新日本中文字幕 | 亚洲韩国一区二区三区 | 色婷婷综合成人av | 日韩精品专区在线影院重磅 | 日韩精品久久一区二区三区 | 国产午夜精品一区二区三区 | 综合精品久久 | 久久国产系列 | 最新91在线视频 | 中国美女一级看片 | 在线播放一区二区三区 | 久久久久国产免费免费 | 黄色小说免费在线观看 | 欧美精品在线观看免费 | 在线看v片成人 | 中文字幕成人在线观看 | 天天射网站| 色婷丁香 | 国产啊v在线观看 | 狠狠撸电影 | 91免费高清| 欧洲色综合 | 国产在线精品福利 | 国产日韩欧美在线观看视频 | 日韩在线视频网址 | 最近中文字幕 | 亚洲精品小视频在线观看 | 国产精品99久久久久久小说 | 国产色久 | 一区二区国产精品 | 国产精品剧情在线亚洲 | 91看片在线看片 | 久久精品亚洲 | 99爱在线| 一区二区电影在线观看 | 国产字幕在线观看 | 91桃色在线观看视频 | 成人影片在线免费观看 | 69性欧美 | 日韩理论在线观看 | 亚洲伊人天堂 | 国产精品视频永久免费播放 | 最近中文字幕视频网 | 国产大片免费久久 | 久操伊人 | 亚洲欧洲国产视频 | 99久久精品国产毛片 | 香蕉网在线观看 | 精品久久综合 | 人人澡人人添人人爽一区二区 | 亚洲理论电影 | 最新中文字幕在线资源 | 国模一区二区三区四区 | 在线国产专区 | 欧美日韩中文字幕综合视频 | 久久毛片网站 | 精品视频久久久久久 | 在线亚洲高清视频 | 狠狠插天天干 | 98超碰在线 | 美女视频黄在线观看 | 久久av免费| 91重口视频 | 日韩午夜三级 | 天天摸天天操天天爽 | av不卡网站 | 91高清视频 | 日韩在线第一区 | 欧美日韩精品二区第二页 | 97精品国产97久久久久久春色 | www.香蕉 | 久热av| 2019免费中文字幕 | 国偷自产视频一区二区久 | 不卡的av在线播放 | 日本二区三区在线 | 欧美国产日韩在线视频 | 欧美亚洲一区二区在线 | 搡bbbb搡bbb视频| 国内精品久久久久久 | 久草在线网址 | 免费视频二区 | 四虎影视成人永久免费观看视频 | 麻豆系列在线观看 | 成人一区二区三区中文字幕 | 成人av网站在线 | 天天玩夜夜操 | 久久久久久久久综合 | 国产福利在线免费 | 99精品免费在线 | 91麻豆精品国产91久久久无需广告 | av在线电影网站 | 深爱激情五月网 | 久久草网站 | 成人免费色 | 在线播放亚洲 | 久久精品国产精品亚洲 | 一区二区中文字幕在线观看 | 国产中文伊人 | 久久久久亚洲精品成人网小说 | 欧美日韩另类在线 | 国产麻豆精品在线观看 | 精品国产成人 | 狠狠色丁香久久综合网 | 成人作爱视频 | 色播99 | 免费在线观看av | 99热网站| 91视频免费播放 | 精品女同一区二区三区在线观看 | 国产中文字幕91 | 国产精品日韩在线 | 国产在线a不卡 | 91精品久久久久久综合五月天 | 狠狠色丁婷婷日日 | 天堂在线视频免费观看 | 午夜久久久久久久久久久 | 在线观看中文字幕2021 | 天天鲁天天干天天射 | 91av小视频 | 亚洲精品午夜一区人人爽 | 97国产情侣爱久久免费观看 | 国产成人一区二 | 日日干av | 日韩av网站在线播放 | 久久久久久久久久久久久国产精品 | 欧美日韩一区二区久久 | 又黄又刺激又爽的视频 | 久久五月网| 81国产精品久久久久久久久久 | 日韩精品久久一区二区 | 美女av在线免费 | 亚洲六月丁香色婷婷综合久久 | 日日干网 | 黄色av一区二区 | 免费看精品久久片 | 不卡av在线免费观看 | 九色精品免费永久在线 | 国产永久免费观看 | 激情视频免费在线 | 国产成人精品久久二区二区 | 国产在线观看一 | 免费大片av | 婷婷色影院 | 婷婷伊人网| 在线看一区 | 日韩欧美在线免费观看 | 久久手机看片 | 亚洲二区精品 | 丁香av| 99精品视频99 | 狠狠的干狠狠的操 | 国产精品久久人 | 日韩精品中文字幕av | 欧美精品久久久久久久久免 | www.日韩免费 | 成人性生爱a∨ | 97精品超碰一区二区三区 | 狠狠操天天操 | 制服丝袜在线91 | 手机av看片| 97伊人网 | 2019天天干天天色 | 在线观看 亚洲 | 日韩3区 | 91九色蝌蚪 | 国产精品第一页在线观看 | 欧美日本日韩aⅴ在线视频 插插插色综合 | www日韩在线观看 | 美腿丝袜av | 一区二区三区免费在线观看视频 | 色九九视频 | 丁香婷婷深情五月亚洲 | 亚洲精品白浆高清久久久久久 | 在线看v片成人 | 亚洲精品mv在线观看 | 免费黄色a网站 | 人人狠狠| 久久久在线观看 | 2019av在线视频 | 国产一区免费观看 | 狠狠操.com | 男女激情片在线观看 | 日韩精品一区二区三区电影 | 国产小视频在线播放 | 狠狠干成人综合网 | 色中色亚洲| 91精品国产一区二区在线观看 | 久久伊人爱 | 久久伊人精品天天 | 久久久精品高清 | 日本精品一区二区在线观看 | 18国产精品福利片久久婷 | 手机av电影在线观看 | 色综合久久久 | 亚洲乱码精品久久久久 | 国产精品video爽爽爽爽 | 91成人黄色| 91热| 亚洲aⅴ久久精品 | 成年人电影免费看 | av成人在线电影 | 国产黄色资源 | av成人在线播放 | 黄色国产成人 | 亚洲欧美在线综合 | 豆豆色资源网xfplay | 玖玖精品在线 | 久久午夜影院 | 亚洲精品国内 | 日本高清中文字幕有码在线 | 国产一级二级三级视频 | 99 久久久久| 91网免费看 | 欧美综合在线视频 | 久久免费a | 久久少妇av | 999国产在线 | www.久久成人 | 亚洲精品小视频在线观看 | 久久观看免费视频 | 91大神精品视频 | av中文字幕不卡 | 久久午夜精品 | 国产在线视频在线观看 | 四虎8848免费高清在线观看 | 蜜臀久久99精品久久久无需会员 | 操操操操网 | 欧美国产日韩在线观看 | 欧美日韩在线免费观看视频 | 国产1区2区3区精品美女 | 亚洲精品小视频 | 九七视频在线观看 | 成人超碰97 | 狠狠地日 | 亚洲区精品| 九热精品 | 91丨九色丨国产丨porny精品 | 亚洲最大的av网站 | 国产福利免费在线观看 | 在线成人观看 | 亚洲人视频在线 | 国产福利一区二区三区视频 | 99精品电影 | 天天做天天爱天天综合网 | 亚洲视频一区二区三区在线观看 | 五月婷婷国产 | 一区二区中文字幕在线播放 | 国产精品综合久久 | 成人在线免费视频 | 一区中文字幕在线观看 | 99精品久久久久久久 | 日本在线观看中文字幕无线观看 | 狠狠做深爱婷婷综合一区 | 91视频在线免费观看 | 午夜精品区 | av天天澡天天爽天天av | 天天躁日日躁狠狠 | 免费av福利| 欧美成人手机版 | 91精品国产成人 | 乱男乱女www7788 | 国产第一二区 | 国产综合精品一区二区三区 | 国产丝袜高跟 | 国产高清小视频 | 麻豆传媒视频在线播放 | 在线视频 影院 | 久草www | 亚洲人人爱 | 婷婷看片| 99资源网| 久久婷婷色综合 | 久久成人欧美 | 国产在线观看黄 | 欧产日产国产69 | 九九视频免费 | av一级久久| 国产日韩视频在线观看 | 国产韩国精品一区二区三区 | 成人av直播 | 国产无吗一区二区三区在线欢 | 亚洲区另类春色综合小说校园片 | 久久综合之合合综合久久 | 久草在线资源观看 | 毛片黄色一级 | 综合色站导航 | 又黄又爽又无遮挡的视频 | 久久9精品 | 激情伊人五月天 | 国产高清在线精品 | 8x8x在线观看视频 | 亚洲欧美国产精品va在线观看 | 丁香激情五月婷婷 | 亚洲一区精品二人人爽久久 | 成人av中文字幕 | 日韩欧美精品一区二区三区经典 | 狠狠色综合网站久久久久久久 | 色综合中文综合网 | 日韩av成人在线观看 | 97色噜噜| 激情在线网址 | 永久免费av在线播放 | 美女精品久久久 | 欧美国产日韩一区 | 亚洲国产黄色片 | 最近中文字幕视频完整版 | 国产免费大片 | 91黄在线看 | 五月天婷亚洲天综合网鲁鲁鲁 | 欧美日韩中文字幕综合视频 | 欧美性大战 | 一本一道波多野毛片中文在线 | 天天干视频在线 | www久久国产 |