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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

基于.Net Framework 4.0 Web API开发(4):ASP.NET Web APIs 基于令牌TOKEN验证的实现

發(fā)布時(shí)間:2023/12/10 asp.net 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于.Net Framework 4.0 Web API开发(4):ASP.NET Web APIs 基于令牌TOKEN验证的实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述:?

  ASP.NET Web API 的好用使用過的都知道,沒有復(fù)雜的配置文件,一個(gè)簡(jiǎn)單的ApiController加上需要的Action就能工作。但是在使用API的時(shí)候總會(huì)遇到跨域請(qǐng)求的問題, 特別各種APP萬花齊放的今天,對(duì)API使用者身份角色驗(yàn)證是不能避免的(完全開發(fā)的API不需要對(duì)使用者身份角色進(jìn)行管控,可以繞過),這篇文章就來談?wù)劵诹钆芓OKEN身份驗(yàn)證的實(shí)現(xiàn)。

問題:

   對(duì)于Web API的選擇性的開放,使用者無論使用AJAX,還是HttpClient對(duì)接,總要對(duì)使用者的身份角色進(jìn)行驗(yàn)證,然而使用API總有跨域使用情況的存在,這樣就導(dǎo)致所有基于cookie驗(yàn)證方式都不再適用于API的驗(yàn)證。

原因:

  比如,基于form表單驗(yàn)證的基礎(chǔ)是登錄驗(yàn)證成功后,用戶的信息存在緩存或數(shù)據(jù)庫或cookie,無論哪種方式存儲(chǔ)用戶信息,都不能繞過對(duì)cookie的使用,所以form表單驗(yàn)證方法對(duì)于禁用cookie的瀏覽器都不能正常使用,結(jié)論就是不能使用cookie 的環(huán)境就不能使用基本的form表單驗(yàn)證方式。因此WEB API 由于跨域的使用,導(dǎo)致cookie不能正常工作,所以不能再使用基于表單驗(yàn)證的方式來實(shí)現(xiàn)。

基于令牌TOKEN驗(yàn)證方法的實(shí)現(xiàn):

方法一:

???? 1. 實(shí)現(xiàn)對(duì)緩存TOKEN的管理,以防IIS服務(wù)器的宕機(jī),可以對(duì)TOKEN進(jìn)行持久化存儲(chǔ)處理,每次IIS重啟重新初始化已經(jīng)登錄成功TOKEN緩存。實(shí)現(xiàn)如下:

1 public class UserTokenManager2 {3 private static readonly IUserTokenRepository _tokenRep;4 private const string TOKENNAME = "PASSPORT.TOKEN";5 6 static UserTokenManager()7 {8 _tokenRep = ContainerManager.Resolve<IUserTokenRepository>();9 }10 /// <summary>11 /// 初始化緩存12 /// </summary>13 private static List<UserToken> InitCache()14 {15 if (HttpRuntime.Cache[TOKENNAME] == null)16 {17 var tokens = _tokenRep.GetAll();18 // cache 的過期時(shí)間, 令牌過期時(shí)間 *219 HttpRuntime.Cache.Insert(TOKENNAME, tokens, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromDays(7 * 2));20 }21 var ts = (List<UserToken>)HttpRuntime.Cache[TOKENNAME];22 return ts;23 }24 25 26 public static int GetUId(string token)27 {28 var tokens = InitCache();29 var result = 0;30 if (tokens.Count > 0)31 {32 var id = tokens.Where(c => c.Token == token).Select(c => c.UId).FirstOrDefault();33 if (id != null)34 result = id.Value;35 }36 return result;37 }38 39 40 public static string GetPermission(string token)41 {42 var tokens = InitCache();43 if (tokens.Count == 0)44 return "NoAuthorize";45 else46 return tokens.Where(c => c.Token == token).Select(c => c.Permission).FirstOrDefault();47 }48 49 public static string GetUserType(string token)50 {51 var tokens = InitCache();52 if (tokens.Count == 0)53 return "";54 else55 return tokens.Where(c => c.Token == token).Select(c => c.UserType).FirstOrDefault();56 }57 58 /// <summary>59 /// 判斷令牌是否存在60 /// </summary>61 /// <param name="token"></param>62 /// <returns></returns>63 public static bool IsExistToken(string token)64 {65 var tokens = InitCache();66 if (tokens.Count == 0) return false;67 else68 {69 var t = tokens.Where(c => c.Token == token).FirstOrDefault();70 if (t == null)71 return false;72 else if (t.Timeout < DateTime.Now)73 {74 RemoveToken(t);75 return false;76 }77 else78 {79 // 小于8小時(shí) 更新過期時(shí)間80 if ((t.Timeout - DateTime.Now).TotalMinutes < 1 * 60 - 1)81 {82 t.Timeout = DateTime.Now.AddHours(8);83 UpdateToken(t);84 }85 return true;86 }87 88 }89 }90 91 /// <summary>92 /// 添加令牌, 沒有則添加,有則更新93 /// </summary>94 /// <param name="token"></param>95 public static void AddToken(UserToken token)96 {97 var tokens = InitCache();98 // 不存在 怎增加99 if (!IsExistToken(token.Token)) 100 { 101 token.ID = 0; 102 tokens.Add(token); 103 // 插入數(shù)據(jù)庫 104 _tokenRep.Add(token); 105 } 106 else // 有則更新 107 { 108 UpdateToken(token); 109 } 110 } 111 112 public static bool UpdateToken(UserToken token) 113 { 114 var tokens = InitCache(); 115 if (tokens.Count == 0) return false; 116 else 117 { 118 var t = tokens.Where(c => c.Token == token.Token).FirstOrDefault(); 119 if (t == null) 120 return false; 121 t.Timeout = token.Timeout; 122 // 更新數(shù)據(jù)庫 123 var tt = _tokenRep.FindByToken(token.Token); 124 if (tt != null) 125 { 126 tt.UserType = token.UserType; 127 tt.UId = token.UId; 128 tt.Permission = token.Permission; 129 tt.Timeout = token.Timeout; 130 _tokenRep.Update(tt); 131 } 132 return true; 133 } 134 } 135 /// <summary> 136 /// 移除指定令牌 137 /// </summary> 138 /// <param name="token"></param> 139 /// <returns></returns> 140 public static void RemoveToken(UserToken token) 141 { 142 var tokens = InitCache(); 143 if (tokens.Count == 0) return; 144 tokens.Remove(token); 145 _tokenRep.Remove(token); 146 } 147 148 public static void RemoveToken(string token) 149 { 150 var tokens = InitCache(); 151 if (tokens.Count == 0) return; 152 153 var ts = tokens.Where(c => c.Token == token).ToList(); 154 foreach (var t in ts) 155 { 156 tokens.Remove(t); 157 var tt = _tokenRep.FindByToken(t.Token); 158 if (tt != null) 159 _tokenRep.Remove(tt); 160 } 161 } 162 163 164 public static void RemoveToken(int uid) 165 { 166 var tokens = InitCache(); 167 if (tokens.Count == 0) return; 168 169 var ts = tokens.Where(c => c.UId == uid).ToList(); 170 foreach (var t in ts) 171 { 172 tokens.Remove(t); 173 var tt = _tokenRep.FindByToken(t.Token); 174 if (tt != null) 175 _tokenRep.Remove(tt); 176 } 177 } 178 }

???? 2. 新建ApiAuthorizeAttribute類,繼承AuthorizeAttribute,重寫方法IsAuthorized,這樣基于TOKEN驗(yàn)證方式就完成了。實(shí)現(xiàn)如下:

1 public class ApiAuthorizeAttribute : AuthorizeAttribute2 {3 protected override bool IsAuthorized(HttpActionContext actionContext)4 {5 // 驗(yàn)證token6 //var token = actionContext.Request.Headers.Authorization;7 var ts = actionContext.Request.Headers.Where(c => c.Key.ToLower() == "token").FirstOrDefault().Value;8 if (ts != null && ts.Count() > 0)9 { 10 var token = ts.First<string>(); 11 // 驗(yàn)證token 12 if (!UserTokenManager.IsExistToken(token)) 13 { 14 return false; 15 } 16 return true; 17 } 18 19 if (actionContext.Request.Method == HttpMethod.Options) 20 return true; 21 return false; 22 } 23 }

???? 3. 登錄實(shí)現(xiàn)

1 /// <summary>2 /// 賬戶3 /// </summary>4 public class AccountController : ApiController5 {6 /// <summary>7 /// 登錄8 /// </summary>9 /// <param name="user">登錄人員信息: 賬號(hào),密碼 ,是否記住密碼</param>10 /// <returns></returns>11 [HttpPost]12 [AllowAnonymous]13 public ResultData Login([FromBody]LoginUser user)14 {15 string mobile = user.Mobile;16 string password = user.Password;17 bool IsRememberMe = user.IsRememberMe;18 19 if (string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(password))20 return new ResultData(((int)LoginResultEnum.UserNameOrPasswordError), EnumExtension.GetEnumDescription(LoginResultEnum.UserNameOrPasswordError));21 22 User u=null;23 IMembershipService membershipSvc = ContainerManager.Container.Resolve<IMembershipService>();24 LoginResultEnum loginResult = membershipSvc.Login(mobile, password, out u);25 if (loginResult == LoginResultEnum.Success)26 {27 //SetAuthenticationTicket(u, IsRememberMe);28 29 // token 處理30 UserTokenManager.RemoveToken(u.ID);31 // 生成新Token32 var token = Utility.MD5Encrypt(string.Format("{0}{1}", Guid.NewGuid().ToString("D"), DateTime.Now.Ticks));33 // token過期時(shí)間34 int timeout = 8;35 if (!int.TryParse(ConfigurationManager.AppSettings["TokenTimeout"], out timeout))36 timeout = 8;37 // 創(chuàng)建新token38 var ut = new UserToken()39 {40 Token = token,41 Timeout = DateTime.Now.AddHours(timeout),42 UId = u.ID,43 UserType = (u.IsSaler.HasValue && u.IsSaler.Value) ? "Saler" : "Vip"44 };45 46 UserTokenManager.AddToken(ut);47 48 49 // 登錄log50 var logRep = ContainerManager.Container.Resolve<ISysLogRepository>();51 var log = new Log()52 {53 Action = "Login",54 Detail = "會(huì)員登錄:" + u.Mobile + "|" + u.Name,55 CreateDate = DateTime.Now,56 CreatorLoginName = u.Mobile,57 IpAddress = GetClientIp(this.Request)58 };59 60 logRep.Add(log);61 62 var data = new63 {64 id = u.ID,65 issaler = u.IsSaler.HasValue ? u.IsSaler.Value : false,66 mobile = u.Mobile,67 token = token68 };69 var result = new ResultData(data);70 result.desc = "登錄成功";71 return result;72 }73 74 if (loginResult == LoginResultEnum.UserNameUnExists)75 {76 return new ResultData(((int)LoginResultEnum.UserNameUnExists), EnumExtension.GetEnumDescription(LoginResultEnum.UserNameUnExists));77 }78 if (loginResult == LoginResultEnum.VerifyCodeError)79 {80 return new ResultData(((int)LoginResultEnum.VerifyCodeError), EnumExtension.GetEnumDescription(LoginResultEnum.VerifyCodeError));81 }82 if (loginResult == LoginResultEnum.UserNameOrPasswordError)83 {84 return new ResultData(((int)LoginResultEnum.UserNameOrPasswordError), EnumExtension.GetEnumDescription(LoginResultEnum.UserNameOrPasswordError));85 }86 return new ResultData(ResultType.UnknowError, "登錄失敗,原因未知");87 }88 /// <summary>89 /// 退出當(dāng)前賬號(hào)90 /// </summary>91 /// <returns></returns>92 [HttpPost]93 public ResultData SignOut()94 {95 // 登錄log96 var logRep = ContainerManager.Resolve<ISysLogRepository>();97 var log = new Log()98 {99 Action = "SignOut", 100 Detail = "會(huì)員退出:" + RISContext.Current.CurrentUserInfo.UserName, 101 CreateDate = DateTime.Now, 102 CreatorLoginName = RISContext.Current.CurrentUserInfo.UserName, 103 IpAddress = GetClientIp(this.Request) 104 }; 105 logRep.Add(log); 106 //System.Web.Security.FormsAuthentication.SignOut(); 107 UserTokenManager.RemoveToken(this.Token); 108 return new ResultData(ResultType.Success, "退出成功"); 109 } 110 }

??? 4. 測(cè)試API

???????? 這樣就可以配合.NET原有的?AllowAnonymousAttribute?屬性使用,?使用方法如下:
???????? 不需要驗(yàn)證身份的 類或者Action 添加 ?[AllowAnonymous]屬性,否則添加[ApiAuthorize]

1 /// <summary>2 /// 測(cè)試3 /// </summary>4 [ApiAuthorize]5 public class TestController : BaseApiController6 {7 /// <summary>8 /// 測(cè)試權(quán)限19 /// </summary> 10 [HttpGet] 11 public string TestAuthorize1() 12 { 13 return "TestAuthorize1"; 14 } 15 /// <summary> 16 /// 測(cè)試權(quán)限2 17 /// </summary> 18 [AllowAnonymous] 19 [HttpGet] 20 public string TestAuthorize2() 21 { 22 return "TestAuthorize2"; 23 } 24 }

?

測(cè)試一:

1 //TestAuthorize2 function TestAuthorize1() {3 $.ajax({4 type: "get",5 url: host + "/mobileapi/test/TestAuthorize1",6 dataType: "text",7 data: {},8 beforeSend: function (request) {9 request.setRequestHeader("token", $("#token").val()); // 請(qǐng)求發(fā)起前在頭部附加token 10 }, 11 success: function (data) { 12 alert(data); 13 }, 14 error: function (x, y, z) { 15 alert("報(bào)錯(cuò)無語"); 16 } 17 }); 18 }

???? 結(jié)果如下:

?

測(cè)試二:

1 //TestAuthorize2 function TestAuthorize2() {3 $.ajax({4 type: "get",5 url: host + "/mobileapi/test/TestAuthorize2",6 dataType: "text",7 data: {},8 beforeSend: function (request) {9 request.setRequestHeader("token", $("#token").val()); // 請(qǐng)求發(fā)起前在頭部附加token 10 }, 11 success: function (data) { 12 alert(data); 13 }, 14 error: function (x, y, z) { 15 alert("報(bào)錯(cuò)無語"); 16 } 17 }); 18 }

?? ?結(jié)果如下:

?

測(cè)試三:

1 //TestAuthorize2 function TestAuthorize1() {3 $.ajax({4 type: "get",5 url: host + "/mobileapi/test/TestAuthorize1",6 dataType: "text",7 data: {},8 beforeSend: function (request) {9 //request.setRequestHeader("token", $("#token").val()); // 請(qǐng)求發(fā)起前在頭部附加token 10 }, 11 success: function (data) { 12 alert(data); 13 }, 14 error: function (x, y, z) { 15 alert("報(bào)錯(cuò)無語"); 16 } 17 }); 18 }

???? 結(jié)果如下:

?

測(cè)試四:

1 //TestAuthorize2 function TestAuthorize2() {3 $.ajax({4 type: "get",5 url: host + "/mobileapi/test/TestAuthorize2",6 dataType: "text",7 data: {},8 beforeSend: function (request) {9 //request.setRequestHeader("token", $("#token").val()); // 請(qǐng)求發(fā)起前在頭部附加token 10 }, 11 success: function (data) { 12 alert(data); 13 }, 14 error: function (x, y, z) { 15 alert("報(bào)錯(cuò)無語"); 16 } 17 }); 18 }

??? 結(jié)果如下:


方法二:

?? 此方法缺點(diǎn)就是每次請(qǐng)求都需要附帶token請(qǐng)求參數(shù),這對(duì)于有強(qiáng)迫癥的程序猿來說是一種折磨,不細(xì)說,實(shí)現(xiàn)代碼如下,有需要的自己研究研究:

1 /// <summary>2 /// 用戶令牌驗(yàn)證3 /// </summary>4 public class TokenAuthorizeAttribute : ActionFilterAttribute5 {6 private const string UserToken = "token";7 public override void OnActionExecuting(HttpActionContext actionContext)8 {9 // 匿名訪問驗(yàn)證 10 var anonymousAction = actionContext.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>(); 11 if (!anonymousAction.Any()) 12 { 13 // 驗(yàn)證token 14 var token = TokenVerification(actionContext); 15 } 16 base.OnActionExecuting(actionContext); 17 } 18 19 /// <summary> 20 /// 身份令牌驗(yàn)證 21 /// </summary> 22 /// <param name="actionContext"></param> 23 protected virtual string TokenVerification(HttpActionContext actionContext) 24 { 25 string msg = ""; 26 // 獲取token 27 var token = GetToken(actionContext, out msg); 28 if (!string.IsNullOrEmpty(msg)) 29 actionContext.Response = actionContext.Request.CreateResponse<NoAuthData>(System.Net.HttpStatusCode.OK, new NoAuthData() { code = "401", msg = msg }); 30 // 判斷token是否有效 31 if (!UserTokenManager.IsExistToken(token)) 32 { 33 actionContext.Response = actionContext.Request.CreateResponse<NoAuthData>(System.Net.HttpStatusCode.OK, new NoAuthData() { code = "401", msg = "Token已失效,請(qǐng)重新登錄!" }); 34 //actionContext.Response = actionContext.Request.CreateResponse<NoAuthData>(System.Net.HttpStatusCode.Unauthorized, new NoAuthData() { code = "401", msg = "Token已失效,請(qǐng)重新登錄!" }); 35 // actionContext.Response = actionContext.Request.CreateErrorResponse(System.Net.HttpStatusCode.Unauthorized, "Token已失效,請(qǐng)重新登錄!"); 36 } 37 38 return token; 39 } 40 41 private string GetToken(HttpActionContext actionContext, out string msg) 42 { 43 Dictionary<string, object> actionArguments = actionContext.ActionArguments; 44 HttpMethod type = actionContext.Request.Method; 45 msg = ""; 46 var token = ""; 47 if (type == HttpMethod.Post) 48 { 49 if (actionArguments.ContainsKey(UserToken)) 50 { 51 if (actionArguments[UserToken] != null) 52 token = actionArguments[UserToken].ToString(); 53 } 54 else 55 { 56 foreach (var value in actionArguments.Values) 57 { 58 if (value != null && value.GetType().GetProperty(UserToken) != null) 59 token = value.GetType().GetProperty(UserToken).GetValue(value, null).ToString(); 60 } 61 } 62 63 if (string.IsNullOrEmpty(token)) 64 msg = "登錄超時(shí),請(qǐng)重新登錄!"; 65 } 66 else if (type == HttpMethod.Get) 67 { 68 if (!actionArguments.ContainsKey(UserToken)) 69 msg = "還未登錄"; 70 // throw new HttpException(401, "還未登錄"); 71 72 if (actionArguments[UserToken] != null) 73 token = actionArguments[UserToken].ToString(); 74 else 75 msg = "登錄超時(shí),請(qǐng)重新登錄!"; 76 } 77 else 78 { 79 throw new HttpException(404, "暫未開放除POST,GET之外的訪問方式!"); 80 } 81 return token; 82 } 83 } 84 85 public class NoAuthData 86 { 87 public string code { get; set; } 88 public string msg { get; set; } 89 }


此篇到此結(jié)束,歡迎大家討論!

?

??

?

那些曾以為念念不忘的事情就在我們念念不忘的過程中,被我們遺忘了。

總結(jié)

以上是生活随笔為你收集整理的基于.Net Framework 4.0 Web API开发(4):ASP.NET Web APIs 基于令牌TOKEN验证的实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久精品国产一区二区三 | 激情综合色图 | 91成人精品一区在线播放69 | 成人午夜性影院 | 在线观看岛国片 | 国产伦精品一区二区三区… | 久久美女视频 | 丰满少妇在线观看资源站 | 久久综合加勒比 | 黄视频色网站 | 99热播精品 | 综合色中文 | 色就是色综合 | 免费三级a | 丝袜制服综合网 | 99久久久久国产精品免费 | 欧美成人xxxxx | 最近最新最好看中文视频 | 玖玖在线视频观看 | 欧美美女激情18p | 中文字幕一二三区 | 亚洲日本韩国一区二区 | 欧美国产日韩在线视频 | 天天色综合1| 精品久久久久久久久久久院品网 | 久久久国产精品网站 | 色妞久久福利网 | 操操综合网 | 色天天综合久久久久综合片 | 日韩影视在线 | 成 人 a v天堂 | 日本久久高清视频 | 国产精品v欧美精品v日韩 | 国产免费一区二区三区最新 | 国内99视频 | 一区国产精品 | 青青河边草免费直播 | 日韩中文字幕在线 | 99视频精品视频高清免费 | 国产精品不卡在线播放 | 91精品国产欧美一区二区成人 | 色福利网站 | 亚洲好视频| 中文字幕在线观看网址 | 91香蕉嫩草| 日本免费久久高清视频 | 久久视频6 | 亚洲日韩精品欧美一区二区 | 97**国产露脸精品国产 | 亚洲精品视频一 | 婷婷电影在线观看 | 97电影院在线观看 | 欧美日韩午夜爽爽 | 国产精品免费久久久久久 | 国产精品久久电影观看 | 色婷婷综合五月 | 久久人91精品久久久久久不卡 | 久热精品国产 | 精品国产综合区久久久久久 | 超碰人人国产 | 成人黄色电影在线 | 在线观看av大片 | 91九色porny蝌蚪视频 | 亚洲国产中文在线 | 久久99日韩| 天天要夜夜操 | 国产亚洲精品久久久久久网站 | 天天操天天插 | 丰满少妇在线观看 | 毛片网站免费在线观看 | 蜜臀av性久久久久蜜臀av | 正在播放一区 | 国产精品成人免费一区久久羞羞 | 狠狠躁18三区二区一区ai明星 | 在线观看视频一区二区三区 | 国产字幕在线观看 | 欧日韩在线视频 | 成人一级黄色片 | av观看久久久 | 色99导航 | 婷婷色网站 | 91自拍视频在线 | 91黄色影视 | 精品国产乱码久久久久久久 | a在线一区 | 91精品毛片| av色网站 | 丁香五婷 | 久久国产91 | 91麻豆.com | 一区二区三区在线免费播放 | 国产69久久 | 国产精品美女久久久网av | 国产一区自拍视频 | 婷婷国产一区二区三区 | 国产精品久久久久久久久久久不卡 | 深爱激情婷婷网 | 精品久久久免费视频 | 成人黄色电影免费观看 | 涩涩网站在线 | 久久精品精品 | 99精品国产一区二区三区麻豆 | 久久国产免 | 人人草在线观看 | 日韩欧美视频在线观看免费 | 欧美精品在线观看一区 | 青草视频在线 | 欧美性黑人| 午夜av色| 日韩久久久久久 | 欧美一区二区三区四区夜夜大片 | 国产在线观看99 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 亚洲aⅴ久久精品 | 久久综合婷婷国产二区高清 | 四虎成人精品永久免费av | 天堂av一区二区 | 日韩高清 一区 | 亚洲狠狠婷婷综合久久久 | 激情五月婷婷激情 | 中文字幕日韩一区二区三区不卡 | 黄色软件大全网站 | 香蕉一区| 久久久久国产精品午夜一区 | 久久久.com | 久草视频首页 | 99视屏 | 国产精品美女免费看 | 国产精品原创视频 | 久久久久久久久久久久久久电影 | 国产精品一区二区久久国产 | 毛片永久新网址首页 | 久久综合免费视频影院 | 精品在线看 | 韩国三级在线一区 | 久久tv| 亚洲97在线| 亚洲欧美日韩中文在线 | 欧美久久久 | 国产色综合天天综合网 | 欧美老少交 | 人人玩人人添人人澡97 | 婷婷av在线 | 伊人伊成久久人综合网站 | 精品视频免费看 | 久草免费手机视频 | av在线免费在线观看 | 免费在线色电影 | 亚洲精品视频在线免费播放 | 中文在线字幕免费观 | 精品国产_亚洲人成在线 | 日韩电影精品一区 | 中文字幕一区二区三区久久 | 少妇av片| 97国产情侣爱久久免费观看 | 国产精品24小时在线观看 | 亚洲综合色站 | 激情网五月天 | 亚洲精品在线二区 | 精品国产一区二区在线 | 精品免费一区二区三区 | 国产精品久久久久av福利动漫 | 成人在线小视频 | 91在线视频观看免费 | 91av在线国产 | 午夜久久久影院 | 成人在线网站观看 | 天天干天天插 | 欧美日本啪啪无遮挡网站 | 亚洲一二视频 | 国产黄色大片免费看 | 网站你懂的 | 国产123区在线观看 国产精品麻豆91 | 天堂黄色片 | 天天操综合网站 | 中文字幕在线观看视频网站 | 国产精品永久久久久久久www | 久久超 | 久久国产高清 | 久久一视频 | 久久天天躁夜夜躁狠狠85麻豆 | 久久a v视频 | 国产精品视频你懂的 | 99久久久久国产精品免费 | 成年人视频在线 | 久久久久久久久久久久久国产精品 | 久久久久久亚洲精品 | 九草在线视频 | 九九九电影免费看 | 久久久影院一区二区三区 | 久av电影 | 欧美日韩国产精品一区二区亚洲 | 欧洲av在线 | 久久成人免费电影 | 成人av资源网| 91黄色视屏 | 国产精品一级视频 | 精品亚洲一区二区 | 99精品国产福利在线观看免费 | 日韩免费av网址 | 欧美久久影院 | 人人爽人人爽人人爽 | 18国产精品福利片久久婷 | 国产精品自拍av | 综合激情婷婷 | 五月婷婷香蕉 | 91av片 | 亚洲精品理论 | 国产精品第一 | 激情五月婷婷丁香 | 91视频在线观看下载 | 欧美综合在线视频 | 午夜免费久久看 | 免费看国产黄色 | 久久国产影院 | 亚洲一区二区三区毛片 | 国产精品免费视频网站 | 在线观看日本高清mv视频 | 欧美激情综合五月色丁香 | 天天玩天天干天天操 | 成年人免费在线观看网站 | 国产精品久久久毛片 | 日韩欧美在线视频一区二区三区 | 中文字幕中文字幕 | 国产精品黄色 | 狠狠狠狠狠狠狠狠干 | 超碰在线9| 久久精品综合网 | 亚洲精品一区二区久 | 精品久久网 | 天天射天天干天天插 | 99精品国产亚洲 | 欧美激情精品久久久久久免费印度 | 人人超碰免费 | 中文字幕欲求不满 | 精品久久久久久久久久国产 | 女人18毛片90分钟 | 久久国产系列 | 91插插视频 | a黄色影院 | 在线观看国产区 | 日本中文字幕一二区观 | 国产精品久久久久久久久免费 | 精品国产免费一区二区三区五区 | 亚洲男男gⅴgay双龙 | 99免费在线观看视频 | 99热手机在线观看 | 成人免费在线观看电影 | 国产精品videossex国产高清 | 激情中文字幕 | 99久久电影| 黄色一级在线视频 | 亚洲一级久久 | 久久久伦理 | 在线精品视频在线观看高清 | 毛片播放网站 | 日韩精品久久久久久久电影竹菊 | 久久精品99国产精品酒店日本 | 欧美在线1区 | 国产小视频国产精品 | 日韩激情一二三区 | 亚洲精品视频二区 | 成人黄色片在线播放 | 久久综合欧美精品亚洲一区 | 精品久久久久久亚洲 | 日日操天天操狠狠操 | 亚洲高清视频在线观看 | 久久人91精品久久久久久不卡 | 日韩精品在线播放 | 久久综合亚洲鲁鲁五月久久 | 欧美日韩中文字幕综合视频 | 亚洲精品黄色在线观看 | 国产手机视频在线 | 肉色欧美久久久久久久免费看 | 色就是色综合 | 国产视频精选在线 | 中文字幕在线视频一区二区 | 一区二区不卡在线观看 | 精品国产亚洲日本 | 日本久久片 | 国产成人在线精品 | 一级黄网| 亚洲深爱激情 | 国产精品综合av一区二区国产馆 | 日本中文字幕免费观看 | 国产免费久久 | 成人在线观看日韩 | 91av视频在线观看免费 | 狠狠躁18三区二区一区ai明星 | 精品色999| 夜夜操天天干, | 一区二区三区www | avove黑丝 | 成人aⅴ视频 | 日韩网 | 在线免费观看黄色 | 91福利社在线观看 | 9992tv成人免费看片 | 色偷偷88888欧美精品久久 | 三级在线视频播放 | 精品视频免费 | 午夜少妇av | 日韩精品视频在线免费观看 | 91插插插免费视频 | 美女网站在线看 | 亚洲综合色丁香婷婷六月图片 | 日韩女同av | 奇米影视777四色米奇影院 | 天天碰天天操 | 中文字幕一区二区三区久久蜜桃 | 久久久久久福利 | 天天操 夜夜操 | 国产精品wwwwww| 超碰国产在线观看 | 香蕉影视 | 五月婷婷综合激情网 | 91精品视频免费观看 | 四虎影视成人永久免费观看视频 | 免费av在线网 | 国产精品美女久久久久久久久 | 亚洲天堂网在线观看视频 | 久热国产视频 | 在线观看免费av网站 | 国产精品日韩在线 | 国产日韩欧美在线播放 | 97看片网 | 91av手机在线 | 日韩在线视频一区 | 国产一线天在线观看 | 欧美日韩国产一区二区在线观看 | 日韩在线免费看 | 精品一区二区综合 | 国产精品成人国产乱一区 | 欧美日韩在线视频一区 | 成年人视频在线免费观看 | 国产在线精品一区二区不卡了 | 最近中文字幕完整视频高清1 | 人人插人人看 | 久久亚洲人 | 免费h漫在线观看 | 91免费试看 | 久久一久久 | 国产成人黄色片 | 婷婷激情在线 | 精品国产一区二区三区噜噜噜 | 99国内精品久久久久久久 | 久久电影日韩 | 伊人婷婷综合 | 伊人午夜视频 | 99精品热 | 精品国产成人在线 | 日韩精品一区二区在线 | 91久久久久久国产精品 | 五月天丁香视频 | 9999在线观看 | 亚洲一级二级 | 91av蜜桃| 久久精品9 | 亚洲精品成人av在线 | 欧洲一区二区三区精品 | 人人揉人人揉人人揉人人揉97 | 婷婷在线色 | 美女久久视频 | 婷久久 | 99精品视频免费观看视频 | av色图天堂网 | 亚洲视频精品 | 国产日本高清 | 人人看人人草 | 久久久久久久久久久网站 | 日本精品视频网站 | 精品国产三级a∨在线欧美 免费一级片在线观看 | av在线播放中文字幕 | 色婷在线| 狠狠色狠狠色合久久伊人 | 国产精品短视频 | 91精品国产99久久久久久红楼 | 我要看黄色一级片 | 亚洲综合黄色 | 亚洲视频六区 | av一级免费| 不卡的av| 99视频一区 | 午夜av在线电影 | 日韩免费看片 | 婷婷综合激情 | 成年性视频 | 高清国产一区 | www.夜夜骑.com| 人人插人人射 | 欧美精品一区二区三区一线天视频 | 99麻豆视频 | 国产精品成人aaaaa网站 | 午夜黄网 | 国产欧美综合视频 | 91精品人成在线观看 | 天天人人 | 在线免费黄色毛片 | 国产午夜精品一区二区三区 | 最新影院 | 精品影院一区二区久久久 | 91精品久久久久久综合乱菊 | 欧美日韩国产二区 | 久久免费高清 | 高清av在线免费观看 | 久久这里精品视频 | 99视频在线精品免费观看2 | 色久综合 | 欧美最新大片在线看 | 亚洲午夜久久久久久久久 | 亚洲无吗av | 西西4444www大胆无视频 | 成人免费观看网站 | 草久热 | 91av视频导航| 国产精品一区在线观看你懂的 | 国产日本在线 | 中文字幕在线高清 | 精品一区二区在线观看 | 欧美天堂视频在线 | 久久艹精品 | 欧美韩日精品 | 91福利视频免费观看 | 97色在线观看免费视频 | 伊人色播 | 国产护士在线 | 一区二区三区四区在线 | 国产一级二级三级在线观看 | 国产日韩视频在线观看 | 一区二区精品在线视频 | 国产精品1024 | 亚洲视频中文 | 国产精品一区二区免费视频 | 国产精品久久久久aaaa九色 | 丁香六月久久综合狠狠色 | 久久免费99精品久久久久久 | 久久丁香网 | 综合激情网 | 97香蕉超级碰碰久久免费软件 | 国产精品久久久久久999 | 亚洲影音先锋 | 国产一区二区综合 | av 一区二区三区四区 | 久久热首页 | 午夜精品久久久久久久久久久 | 偷拍福利视频一区二区三区 | 美女视频永久黄网站免费观看国产 | 亚在线播放中文视频 | 96看片| 精品国产一区二区三区久久久蜜臀 | 碰超在线| 中文字幕精品一区久久久久 | 国产伦精品一区二区三区四区视频 | 欧美日韩免费在线观看视频 | 亚洲jizzjizz日本少妇 | 麻豆视频免费在线播放 | 丁香六月网 | 久久久久久久久电影 | 精品国产a| 四虎在线免费观看视频 | 欧美久草网 | 91精品一区国产高清在线gif | 国产91精品在线观看 | 一级片免费观看视频 | 国产成人精品一区二区三区福利 | 三日本三级少妇三级99 | 在线免费观看视频你懂的 | 亚洲一区日韩精品 | 国产精品12345 | 在线成人免费电影 | 色综合综合 | 天天拍天天色 | 精品v亚洲v欧美v高清v | 欧美91精品 | 国产精品一区欧美 | 欧美性大战久久久久 | 国产精品毛片久久久久久久久久99999999 | 九九久久精品视频 | 最新午夜电影 | 日韩电影在线观看中文字幕 | 久久久久免费精品视频 | 二区三区视频 | 久久久国产99久久国产一 | 日本激情中文字幕 | 国产黄色网 | 久久久久国产一区二区 | 国产特级毛片aaaaaa | 欧美最猛性xxxxx免费 | 在线看毛片网站 | 免费精品国产 | 久久久夜色| 亚州av成人| 婷婷六月在线 | 91久久偷偷做嫩草影院 | 日日日操操 | 亚洲成av人片一区二区梦乃 | 91福利社在线观看 | 五月色婷 | 国产a国产a国产a | 久久久高清 | 天天干,天天射,天天操,天天摸 | 国产精品久久久久影院日本 | 四虎成人精品永久免费av九九 | av高清在线观看 | 中文字幕在线观看播放 | 国产黄色片一级 | 日韩在线观看第一页 | 亚洲免费观看在线视频 | 五月天综合激情 | 天天综合久久 | 日韩成人一级大片 | 日韩一区二区三免费高清在线观看 | 国产激情小视频在线观看 | 久久综合激情 | 日日干天天操 | 欧美日韩亚洲在线观看 | 91黄色小视频 | 欧美日韩国产在线一区 | 日韩精品免费在线视频 | 狠狠色噜噜狠狠 | 成人免费亚洲 | 国产手机视频在线播放 | 午夜一级免费电影 | 国内精品视频在线播放 | 欧美精品亚洲精品日韩精品 | 久久久999 | 亚洲精品乱码久久 | 美女黄频在线观看 | 国产一级视频免费看 | 国产一区网址 | 韩国精品视频在线观看 | 亚洲丁香日韩 | 伊人婷婷激情 | 精品视频免费在线 | 97电影在线看视频 | 波多野结衣精品在线 | 午夜国产在线观看 | 国产老妇av | 午夜少妇一区二区三区 | 国产成人精品亚洲日本在线观看 | 精品视频免费看 | 国产系列精品av | 亚洲综合一区二区精品导航 | 在线观看色网 | 日韩欧美国产精品 | 欧美日韩一区二区在线 | 国产精品免费视频网站 | 成人免费看片98欧美 | 色.www | 国产精品观看 | 精品一区二区亚洲 | 视频在线在亚洲 | av在线不卡观看 | 国模吧一区 | 天天天干天天射天天天操 | www..com毛片| 久草在线视频资源 | 一级α片 | 中文字幕在线视频一区二区 | 在线看国产一区 | 国产一级精品在线观看 | 狠狠色狠狠色终合网 | 国产精品永久在线 | 中文字幕在线观看免费高清完整版 | 久久er99热精品一区二区 | 久久成 | www好男人| 亚洲黄色在线 | 欧美日韩首页 | 91一区啪爱嗯打偷拍欧美 | 蜜桃视频色 | 成年人视频免费在线 | 国产 在线 日韩 | 日韩免| 操操操干干干 | 超碰97免费 | 久久精品视频网站 | 99精品亚洲| 欧美精品三级 | 99久久夜色精品国产亚洲96 | 91九色蝌蚪在线 | www.色的| 国产亚洲精品v | 91看片在线观看 | 国产一区二区三区四区在线 | 国产69精品久久久久99 | 日韩高清久久 | 久久久久久久久免费视频 | 操操日 | 蜜臀av网站 | free. 性欧美.com | 五月婷婷影院 | 91在线视频免费观看 | 亚洲国产综合在线 | 日韩视频在线一区 | 日韩在线| 91九色视频网站 | 久久婷婷色 | 又污又黄的网站 | 久久久久久久久久久国产精品 | www.久久色| 国产一区视频在线观看免费 | 日韩av区 | 亚洲在线成人精品 | 久久久久久久亚洲精品 | 超碰公开在线观看 | 日日夜夜草| 亚州精品在线视频 | 韩国av三级| 人人爱在线视频 | 日韩免费福利 | 激情丁香久久 | 亚洲九九九 | 欧美日韩视频一区二区 | 精品久久久久国产 | 日日日视频 | 免费午夜网站 | 午夜久久福利视频 | 国产 一区二区三区 在线 | 日韩精品一卡 | 免费在线成人 | 国产在线国偷精品产拍免费yy | 美女久久视频 | 欧美日韩国产一区二区三区 | 天天综合精品 | 欧美一级视频免费 | 中文字幕在线国产 | 久久免费视频在线观看6 | 国产精品二区在线观看 | 日本在线观看一区 | 综合久久精品 | 麻豆av一区二区三区在线观看 | 高清精品久久 | 免费看片日韩 | 香蕉影视在线观看 | 国产精品久久久久久久久费观看 | www.夜夜操.com | 亚洲国产视频直播 | 日韩大片在线观看 | 亚洲欧洲一区二区在线观看 | 日韩免费观看一区二区 | 国产视频一区二区三区在线 | 欧美在线视频日韩 | 五月丁色 | 欧美性做爰猛烈叫床潮 | 欧美特一级片 | 国产裸体永久免费视频网站 | 精品一区精品二区 | 中文字幕一区二区在线播放 | 狠狠天天 | 在线综合 亚洲 欧美在线视频 | 国产一级免费播放 | 午夜18视频在线观看 | 综合久久五月天 | 99热国产在线中文 | 亚洲人成精品久久久久 | 91精品视频导航 | 欧美久草在线 | 国产精品正在播放 | 免费在线观看中文字幕 | 免费观看一级一片 | 天天综合日日夜夜 | www.天天成人国产电影 | 一区精品久久 | 天天综合网在线 | 九热在线| 黄色网www| 在线观看成人国产 | 久久不卡视频 | 国产视频精品免费播放 | 久久 亚洲视频 | 韩国av一区 | 久久资源总站 | 久草视频免费在线播放 | 久久久久亚洲精品中文字幕 | 国产精品不卡在线观看 | 亚一亚二国产专区 | 天天操天天插 | 国产99久久久久 | 一区二区视频欧美 | 久久第四色 | 日韩中文字幕视频在线 | 国产精品毛片久久久久久 | 国产色小视频 | 欧美一级电影片 | 国产录像在线观看 | 五月婷婷在线观看视频 | 日韩高清在线不卡 | 91av九色| 欧美一级视频在线观看 | 96久久欧美麻豆网站 | 亚洲精品玖玖玖av在线看 | 久久久精品成人 | 夜夜躁狠狠躁日日躁视频黑人 | 97视频免费播放 | 国产亚洲精品美女久久 | 国产色视频网站2 | 婷婷伊人五月 | 国产一区二区在线视频观看 | 国产白浆在线观看 | 国产高清在线一区 | 亚洲精品视频一二三 | 日本爱爱免费视频 | 亚洲国产午夜视频 | 在线日韩中文字幕 | 欧美精品一区二区免费 | 亚洲综合激情 | 天天色天天艹 | 天天干天天操天天干 | 亚洲视频观看 | 免费在线观看黄网站 | 亚洲免费在线视频 | 69绿帽绿奴3pvideos | 久久精品看| 中文字幕文字幕一区二区 | 91视频观看免费 | 久久亚洲精品电影 | 久久精品一区二区三 | 亚洲在线成人精品 | 亚洲精品成人网 | 中文字幕在线看 | 最新日韩视频在线观看 | 亚洲精品观看 | 亚洲一二视频 | 天堂视频中文在线 | 国产福利在线不卡 | 国产99久久 | 久久国产经典视频 | 中文字幕久久精品亚洲乱码 | 69xxxx欧美| 午夜三级在线 | 激情视频国产 | www.综合网.com | 日韩专区一区二区 | 九九九热精品免费视频观看网站 | 在线观看岛国 | 精品国产一区二区三区在线观看 | 一区二区视频欧美 | 成人av一区二区兰花在线播放 | 在线久草视频 | 日韩色在线 | 91精品啪在线观看国产 | 日韩电影在线观看中文字幕 | 国产一级片在线播放 | 水蜜桃亚洲一二三四在线 | 在线不卡中文字幕播放 | 国产999视频在线观看 | 国产精品手机播放 | 午夜久久福利视频 | 视频国产一区二区三区 | 在线成人短视频 | 天天艹天天操 | 中文字幕乱码日本亚洲一区二区 | 免费看黄色大全 | 五月婷婷综合网 | 日日夜夜天天综合 | 国产在线第三页 | 国产69精品久久久久9999apgf | 免费男女羞羞的视频网站中文字幕 | 狠狠干综合网 | 黄色三级在线看 | 国产黄色电影 | 国产一级片在线播放 | 91福利视频在线 | 久久免费的精品国产v∧ | 中文字幕一区av | 狠狠综合 | 69视频在线 | 国产精品免费在线播放 | 日韩av一区二区三区在线观看 | 国产精品久久久久久超碰 | 精品视频在线免费观看 | www.亚洲黄色 | 一区二区不卡视频在线观看 | 日韩高清在线观看 | 国产亚洲精品久久久久久久久久久久 | 国产乱码精品一区二区蜜臀 | 成人av电影免费观看 | 国产a级片免费观看 | 亚洲经典视频 | 91麻豆精品国产91 | 国产美腿白丝袜足在线av | 国产人成看黄久久久久久久久 | 456成人精品影院 | 久久精品男人的天堂 | 国产欧美日韩视频 | 九九在线精品视频 | 999久久精品 | 日韩高清成人 | 久久精品影视 | 免费在线观看午夜视频 | 日本久久电影网 | 99视频在线免费 | 欧美网址在线观看 | 在线观看中文字幕亚洲 | 中文伊人 | 玖玖玖精品 | 精品亚洲欧美无人区乱码 | 国产男女无遮挡猛进猛出在线观看 | 国模精品在线 | 国产精品久久久久久久电影 | 久久久免费看视频 | 一区二区三区播放 | 久久免费片| 精品国产伦一区二区三区观看方式 | 伊人视频| www.综合网.com | 成人影视免费 | 国产成人99av超碰超爽 | 国产麻豆传媒 | 超碰人人av| 久久成人综合 | 婷婷久久亚洲 | 九九精品视频在线观看 | 国产一区二区三区免费在线 | wwwww.国产 | 成人免费av电影 | 国产精品久久久久久一二三四五 | 国产免费观看av | 视频在线观看入口黄最新永久免费国产 | 日本成人免费在线观看 | 久久夜夜爽 | 日韩欧美高清一区二区三区 | 一区二区三区在线免费 | 日韩乱码中文字幕 | 精品久久久久久综合 | 91av电影 | 久精品视频免费观看2 | 色婷婷97 | 成人久久国产 | av不卡中文 | 五月开心激情 | 国产亚洲婷婷免费 | 亚洲成人资源在线观看 | 国产精品二区在线观看 | www.久久久.cum | 久久精品网站免费观看 | 九九久久久久久久久激情 | 黄色网中文字幕 | 久久婷婷网 | 午夜精品一区二区国产 | 亚洲综合在线一区二区三区 | 亚洲成年人av | 亚洲精品无 | 亚洲视频免费视频 | 成人av免费 | 欧美特一级 | 91视频免费看 | 国产糖心vlog在线观看 | 麻豆精品视频在线观看免费 | av中文字幕电影 | 日韩字幕| 伊人看片 | 国产永久免费高清在线观看视频 | 国产亚洲精品久久久久久大师 | 久久99偷拍视频 | 亚洲天堂网在线播放 | 免费在线观看黄色网 | 日本中文字幕一二区观 | 五月婷香蕉久色在线看 | 日韩国产精品久久 | 日本中文字幕影院 | 亚洲最新av在线网址 | 亚洲码国产日韩欧美高潮在线播放 | 国产精品手机在线 | 亚洲黄色在线 | 99久久久久国产精品免费 | 国产精品久久久久久久久久久久午夜片 | 欧美日韩中文国产 | 在线视频中文字幕一区 | 久久污视频| 美女免费视频一区二区 | 成人亚洲精品国产www | 亚洲精品成人免费 | 日日日操 | 五月天综合在线 | 精品国产乱码久久久久 | 成人免费ⅴa | 亚洲精品免费在线视频 | 狠狠插狠狠操 | 一区二区三区四区五区六区 | 午夜影院先 | 久久久99国产精品免费 | 狠狠干狠狠操 | 亚洲国产精久久久久久久 | 91精品综合| 毛片网免费 | 久操视频在线免费看 | 日本黄区免费视频观看 | 夜夜夜夜夜夜操 | 狠狠干天天操 | 国产精品久久三 | 免费看国产一级片 | 婷婷激情综合五月天 | 国产免费叼嘿网站免费 | 美女视频黄的免费的 | 亚洲精品ww | 99久久久国产精品美女 | 免费av网站在线看 | 四虎国产精品成人免费影视 | a级黄色片视频 | 亚洲五月激情 | 久久99国产综合精品 | 国产精品久久久久一区二区三区共 | 成人精品一区二区三区电影免费 | 成人av视屏 | 超碰97.com| 91精选在线观看 | 国产污视频在线观看 | 99久久精品无免国产免费 | 狠狠躁18三区二区一区ai明星 | 久久久免费精品国产一区二区 | 国产专区视频在线观看 | 欧美激情视频在线免费观看 | 91九色最新地址 | 久久精品99国产精品 | 免费观看黄 | 国产亚洲精品xxoo | 亚洲精品免费在线播放 | 久久精品男人的天堂 | 精品国产乱码久久久久久久 | 五月婷视频 | 欧美另类tv | 日韩欧美精品在线观看视频 | 久久99视频免费观看 | 成人免费色 | 最新av网站在线观看 | 久久九精品 | 香蕉成人在线视频 | 久青草国产在线 | 夜夜骑天天操 | 欧美日韩国产精品一区 | 九草视频在线观看 | 精品一区 在线 | 亚洲色图27p | 久久综合婷婷 | 天天搞夜夜骑 | 亚洲国产影院av久久久久 | 免费色网| 人人澡人摸人人添学生av | 婷婷综合久久 | 99 色| 国产亚洲精品久久久久秋 | 久草在线观看视频免费 | 国产人成一区二区三区影院 | 国产成人久久77777精品 | 在线观看日韩精品 | 91成人亚洲 | 欧美激情综合五月色丁香 | 精品国产观看 | www成人精品| 婷婷激情av| 毛片激情永久免费 | 在线观看免费中文字幕 | 欧美亚洲免费在线一区 | 九色91在线视频 | av电影av在线 | 日韩理论电影在线观看 | 欧美日韩国产在线精品 | 成人小视频在线观看免费 | 亚洲天堂网在线播放 | 欧美日韩中文国产一区发布 | 99精品久久99久久久久 | 99久久久国产精品免费99 | 黄色小网站在线 | 麻豆mv在线观看 | 日本黄色a级大片 | 成人av影视在线 | 成人精品国产免费网站 | 国产精品久久久久一区 | 日本三级在线观看中文字 | 中文字幕日韩无 | 超碰公开在线 | 中文字幕在线高清 | 天天操天天综合网 | 精品国内自产拍在线观看视频 | 久久久久久久久久久久久久免费看 | 伊人婷婷 | zzijzzij亚洲成熟少妇 | 毛片美女网站 | 婷婷综合久久 | 国产精品久99 | 在线视频福利 | 天天做天天射 | 在线观看aa| 久草视频免费在线播放 | 蜜臀av性久久久久蜜臀av | 中文字幕在线高清 | 日韩欧美视频在线免费观看 | 久草在线免费资源站 | 香蕉视频在线网站 | 丁香视频免费观看 | 国产精品久久久久一区二区三区共 | 91热这里只有精品 | 精品久久99| 日韩精品免费一区二区 | 国产精品一区二区三区久久久 | 欧美日韩免费一区 |