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

SpringBoot 與 Sentinel 整合,解決 DDoS 攻擊與異常爬蟲請求問題

開發 安全
雖然 Sentinel 主要用于微服務場景下的流量管理和故障隔離,但也可以通過一些策略和配置來輔助防御 DDoS 攻擊和異常爬蟲請求。

Sentinel 是阿里巴巴開源的一款面向分布式服務架構的輕量級高可用流量控制組件,主要用于流量控制、熔斷降級和系統負載保護。 雖然 Sentinel 主要用于微服務場景下的流量管理和故障隔離,但也可以通過一些策略和配置來輔助防御 DDoS 攻擊和異常爬蟲請求。

DDoS攻擊

DDoS(Distributed Denial of Service)是一種惡意攻擊手段,攻擊者通過控制大量計算機設備(如僵尸網絡),向目標服務器發送大量的數據包或請求,從而耗盡服務器的帶寬、CPU資源或其他系統資源,導致合法用戶無法正常訪問服務。

(1) 常見類型:

① Volume-based Attacks (體積型攻擊):

  • 例如ICMP Flood、UDP Flood。
  • 攻擊者發送大量無用的數據包,占用帶寬。

② Protocol Attacks (協議型攻擊):

  • 例如SYN Flood、ACK Flood。
  • 攻擊者利用TCP/IP協議漏洞,發送特定的數據包使服務器崩潰。

③ Application Layer Attacks (應用層攻擊):

  • 例如HTTP Flood、Slowloris。
  • 攻擊者模擬真實用戶的行為,發送大量的HTTP請求,消耗服務器的應用層資源。

(2) 防御措施:

  • 使用CDN: 內容分發網絡可以幫助分散流量,減輕單個服務器的壓力。
  • 負載均衡: 分散請求到多個服務器上,提高系統的可用性。
  • 防火墻和入侵檢測系統: 防止非法流量進入服務器。
  • Rate Limiting (限流): 控制每個IP地址或來源的請求速率,防止過載。
  • Traffic Shaping (流量整形): 調整進出網絡的數據包傳輸速率,優化流量分配。
  • Anycast IP Addressing: 使用多條路徑將流量引導至最近的健康節點,提高冗余性和抗攻擊能力。

異常爬蟲請求

異常爬蟲是指那些不符合正常爬蟲行為規范的自動化程序,它們可能會對網站造成負擔,甚至破壞網站的正常運行。這些爬蟲可能用于抓取敏感信息、進行競爭情報收集、參與SEO欺詐等活動。

(1) 特點:

  • 高頻率請求: 在短時間內發送大量請求,可能導致服務器過載。
  • 不遵循robots.txt: 忽略網站的爬蟲協議文件,訪問受保護的內容。
  • 偽裝成普通用戶: 使用偽造的User-Agent字符串,難以識別。
  • 頻繁更改IP: 使用代理或VPN頻繁更換IP地址,增加追蹤難度。

(2) 防御措施:

  • 設置Robots.txt: 明確告知爬蟲哪些內容可以抓取,哪些不可以。
  • Rate Limiting (限流): 限制每個IP地址或來源的請求速率,防止濫用。
  • CAPTCHA (驗證碼): 在關鍵操作前要求用戶提供驗證碼,區分人機。
  • IP黑名單/白名單: 阻止已知惡意IP地址的訪問,允許信任的IP地址。
  • User-Agent過濾: 檢查請求的User-Agent字段,阻止非標準的爬蟲請求。
  • Session Management: 使用會話管理技術,識別和限制可疑的爬蟲行為。
  • Dynamic Content Delivery: 動態生成內容,使得爬蟲難以抓取有用的信息。
  • Monitoring and Logging: 實時監控和記錄異常請求,及時發現和響應潛在威脅。

實現思路

(1) 流控(Flow Control):

  • 流控用于限制某個資源的訪問速率,防止系統過載。
  • 通過設置每秒允許的最大請求數,當超過這個閾值時,Sentinel會阻止多余的請求,并返回相應的錯誤信息。

(2) 降級(Degrade):

  • 降級用于在系統壓力過大時自動降低服務的可用性,保護核心業務不受影響。
  • 可以根據不同的策略(如RT、異常比例、異常數)來進行降級處理。

(3) 熱點參數限流(Hotspot Parameter Flow Control):

熱點參數限流用于針對特定參數進行限流,防止某些參數導致的服務過載。

(4) 全局異常處理器:

捕獲并處理由Sentinel拋出的異常,返回友好的錯誤信息給客戶端。

(55) 自定義異常處理器:

根據不同的異常類型(如FlowException和DegradeException),返回具體的錯誤信息。

先啟動Nacos服務器

我已經在本地啟動了Nacos服務器。

你也可以從Nacos GitHub https://github.com/alibaba/nacos 下載并按照說明啟動。

上傳Sentinel規則到Nacos

在Nacos配置管理中創建兩個配置文件:

  • Data ID: sentinel-demo-flow-rules, Group: DEFAULT_GROUP
[
    {
        "resource": "/api/hello",
        "limitApp": "default",
        "grade": 1,
        "count": 10,
        "strategy": 0,
        "controlBehavior": 0,
        "clusterMode": false
    }
]
  • Data ID: sentinel-demo-degrade-rules, Group: DEFAULT_GROUP
[]

代碼實操

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/><!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>sentinel-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sentinel-demo</name>
    <description>Demo project for Spring Boot with Sentinel</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <!-- Spring Boot Web Starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Alibaba Sentinel Starter -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <!-- Lombok for reducing boilerplate code -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- Spring Boot Test Starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR8</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <!-- Spring Boot Maven Plugin -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

application.yml

server:
  port:8080

spring:
cloud:
    sentinel:
      transport:
        dashboard:localhost:8080# 配置Sentinel控制臺地址
      datasource:
        ds1:
          nacos:
            server-addr:localhost:8848# Nacos服務器地址
            data-id:${spring.application.name}-flow-rules# 流控規則數據ID
            group:DEFAULT_GROUP# 流控規則組名
            rule-type:flow# 規則類型為流控規則

logging:
level:
    root:INFO# 設置根日志級別為INFO
    com.example.sentineldemo:DEBUG# 設置應用包的日志級別為DEBUG

logback-spring.xml

<!-- Logback日志配置文件 -->
<configuration>
    <!-- 定義控制臺輸出器 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern><!-- 日志格式 -->
        </encoder>
    </appender>

    <!-- 根日志記錄器配置 -->
    <root level="info">
        <appender-ref ref="STDOUT"/><!-- 將日志輸出到控制臺 -->
    </root>
</configuration>

flow-rules.json

放在 src/main/resources/sentinel/

[
    {
        "resource": "/api/hello", // 資源路徑
        "limitApp": "default", // 默認限流應用
        "grade": 1, // QPS模式
        "count": 10, // 每秒最大請求數
        "strategy": 0, // 直接模式
        "controlBehavior": 0, // 快速失敗策略
        "clusterMode": false // 非集群模式
    }
]

定義了一個流控規則,限制 /api/hello 接口每秒最多允許 10 個請求。

如果超過這個閾值,Sentinel 會阻止多余的請求,并返回 "Too many requests, please try again later."。

SentinelDemoApplication.java

package com.example.sentineldemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Spring Boot應用主類
 */
@SpringBootApplication
public class SentinelDemoApplication {

    /**
     * 應用程序入口點
     *
     * @param args 命令行參數
     */
    public static void main(String[] args) {
        SpringApplication.run(SentinelDemoApplication.class, args);
    }
}

Sentinel配置類

package com.example.sentineldemo.config;

import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.RequestOriginParser;
import com.alibaba.csp.sentinel.datasource.ReadableDataSource;
import com.alibaba.csp.sentinel.datasource.nacos.NacosDataSource;
import com.alibaba.csp.sentinel.slots.block.RuleConstant;
import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule;
import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRuleManager;
import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;
import java.util.List;

/**
 * Sentinel配置類
 */
@Configuration
publicclass SentinelConfig {

    /**
     * 初始化Sentinel規則
     */
    @PostConstruct
    private void initRules() {
        String serverAddr = "localhost"; // Nacos服務器地址
        String groupId = "DEFAULT_GROUP"; // 規則組名
        String dataId = "${spring.application.name}-flow-rules"; // 流控規則數據ID

        // 從Nacos讀取流控規則
        ReadableDataSource<String, List<FlowRule>> flowRuleDataSource = new NacosDataSource<>(serverAddr, groupId, dataId,
                source -> JSON.parseObject(source, new TypeReference<List<FlowRule>>() {}));
        FlowRuleManager.register2Property(flowRuleDataSource.getProperty());

        String degradeDataId = "${spring.application.name}-degrade-rules"; // 降級規則數據ID
        // 從Nacos讀取降級規則
        ReadableDataSource<String, List<DegradeRule>> degradeRuleDataSource = new NacosDataSource<>(serverAddr, groupId, degradeDataId,
                source -> JSON.parseObject(source, new TypeReference<List<DegradeRule>>() {}));
        DegradeRuleManager.register2Property(degradeRuleDataSource.getProperty());
    }

    /**
     * 自定義請求來源解析器
     *
     * @return RequestOriginParser實例
     */
    @Bean
    public RequestOriginParser requestOriginParser() {
        return request -> request.getHeader("origin"); // 使用HTTP頭中的origin字段作為請求來源
    }
}

Controller

使用 @SentinelResource 注解來標識需要保護的方法。

當方法被調用時,Sentinel 會根據預先定義的規則進行檢查。

package com.example.sentineldemo.controller;

import com.alibaba.csp.sentinel.annotation.SentinelResource;
import com.example.sentineldemo.exception.BlockExceptionHandler;
import com.example.sentineldemo.service.HelloService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * 控制器類,處理API請求
 */
@RestController
publicclass HelloController {

    @Autowired
    private HelloService helloService; // 注入服務層對象

    /**
     * 處理GET /api/hello請求
     *
     * @param name 請求參數,用戶名
     * @return 返回問候語
     */
    @GetMapping("/api/hello")
    @SentinelResource(value = "hello", blockHandlerClass = BlockExceptionHandler.class, blockHandler = "handleException")
    public String sayHello(@RequestParam(required = false) String name) {
        if (name == null || name.isEmpty()) {
            name = "World"; // 如果未提供名字,默認為"World"
        }
        return helloService.getGreeting(name); // 調用服務層獲取問候語
    }
}

全局異常處理器

捕獲并處理由 Sentinel 拋出的 BlockException 異常。

返回友好的錯誤信息給客戶端。

package com.example.sentineldemo.exception;

import com.alibaba.csp.sentinel.slots.block.BlockException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * 全局異常處理器
 */
@ControllerAdvice
publicclass GlobalExceptionHandler {

    /**
     * 處理Sentinel阻塞異常
     *
     * @param ex 異常對象
     * @return 返回錯誤信息和狀態碼
     */
    @ExceptionHandler(BlockException.class)
    public ResponseEntity<String> handleBlockException(BlockException ex) {
        returnnew ResponseEntity<>("Blocked by Sentinel: " + ex.getClass().getSimpleName(), HttpStatus.TOO_MANY_REQUESTS);
    }
}

Sentinel資源塊處理異常處理器

package com.example.sentineldemo.exception;

import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.alibaba.csp.sentinel.slots.block.degrade.DegradeException;
import com.alibaba.csp.sentinel.slots.block.flow.FlowException;

/**
 * Sentinel資源塊處理異常處理器
 */
publicclass BlockExceptionHandler {

    /**
     * 處理Sentinel資源塊異常
     *
     * @param ex 異常對象
     * @return 返回錯誤信息
     */
    public static String handleException(BlockException ex) {
        if (ex instanceof FlowException) {
            return"Too many requests, please try again later."; // 流控異常處理
        } elseif (ex instanceof DegradeException) {
            return"Service is degraded, please try again later."; // 降級異常處理
        }
        return"Request blocked by Sentinel."; // 其他異常處理
    }
}

服務層

package com.example.sentineldemo.service;

import org.springframework.stereotype.Service;

/**
 * 服務層類,處理業務邏輯
 */
@Service
public class HelloService {

    /**
     * 獲取問候語
     *
     * @param name 用戶名
     * @return 返回問候語
     */
    public String getGreeting(String name) {
        return "Hello, " + name + "!"; // 構造問候語
    }
}
責任編輯:趙寧寧 來源: Java知識日歷
相關推薦

2025-03-06 08:37:01

2012-11-30 14:54:48

2012-02-14 09:43:08

2015-05-18 13:51:08

2024-05-08 16:44:40

TCPRST網絡協議

2016-09-29 22:54:55

2013-04-27 10:24:03

2009-01-16 10:40:50

2022-05-03 19:38:15

限流微服務Sentinel

2025-03-07 08:31:54

2017-10-08 07:52:33

2025-03-18 08:55:48

語言服務開發框架

2018-11-02 12:37:53

DDos攻擊信息安全攻擊

2013-04-26 09:29:00

2010-09-30 10:41:29

2017-08-03 09:37:35

SparkStreamKafkaDirect

2014-07-01 09:54:13

2023-10-07 12:06:52

2011-08-03 10:39:06

IOS程序 HTTP 請求

2017-10-12 15:41:45

點贊
收藏

51CTO技術棧公眾號

欧美日韩久久不卡| 不卡av在线免费观看| 日韩在线视频一区| 国产成人av免费观看| 91超碰在线免费| 久久九九国产精品| 亚洲一区二区三区久久| 日韩三级视频在线| 日韩欧美字幕| 亚洲第一福利视频| 三级av免费观看| 国产美女情趣调教h一区二区| 91理论电影在线观看| 91久久久久久久| 五月天激情国产综合婷婷婷| 天天操夜夜操国产精品| 日韩经典中文字幕在线观看| 国产一区二区在线观看免费视频| zzzwww在线看片免费| 成人免费在线观看入口| 国产欧美一区二区视频| 中文在线资源天堂| 精品999日本| 日韩少妇与小伙激情| a毛片毛片av永久免费| 国产剧情一区二区在线观看| 色哟哟国产精品| 国产高清不卡无码视频| 亚洲av激情无码专区在线播放| 精品中文av资源站在线观看| 热re91久久精品国99热蜜臀| 精品一级少妇久久久久久久| 久久香蕉国产| 亚洲午夜久久久久久久| 97人妻精品一区二区三区免费 | 久久悠悠精品综合网| 欧美日韩亚洲丝袜制服| 欧美 日韩 国产一区| 99久久精品免费看国产小宝寻花| 国产精品第一页第二页第三页 | 久久精品国产68国产精品亚洲| 亚洲国产精品va在看黑人| 色婷婷综合在线观看| 国内精品伊人| 欧美亚洲一区二区在线观看| aa在线免费观看| 美女网站在线看| 亚洲成av人片| www.好吊操| 爱福利在线视频| 亚洲永久免费视频| 一卡二卡三卡视频| 牛牛精品在线视频| 亚洲在线观看免费| 无码熟妇人妻av在线电影| 亚洲卡一卡二| 亚洲国产裸拍裸体视频在线观看乱了| 日本熟妇人妻xxxx| 黄视频网站在线观看| 欧美日韩精品在线| 久久久久久久久久久福利| 蜜桃麻豆影像在线观看| 色综合久久综合网97色综合| 青青在线免费观看视频| 韩国女主播一区二区| 欧美日韩午夜影院| 日韩av自拍偷拍| 色播一区二区| 亚洲精品国产精品国自产观看浪潮 | 国产高清自拍视频在线观看| 欧美激情综合在线| 在线播放豆国产99亚洲| 久草免费在线| 一区二区三区四区国产精品| 亚洲精品一区二区毛豆| 麻豆视频在线免费观看| 亚洲视频一区二区在线| 波多野结衣激情| 中文字幕中文字幕在线中高清免费版| 亚洲人成精品久久久久| 亚洲精品国产suv一区88| 亚洲丝袜精品| 色综合天天性综合| 黑森林精品导航| 欧美v亚洲v综合v国产v仙踪林| 欧美日韩性生活| 激情文学亚洲色图| 亚洲精品a区| 亚洲国产精彩中文乱码av在线播放| 国产chinese中国hdxxxx| 啪啪激情综合网| 精品在线观看国产| 美女脱光内衣内裤| 欧美成人milf| 欧美激情极品视频| 日韩一区二区视频在线| 日韩在线一区二区| 96国产粉嫩美女| 三级小视频在线观看| 91影院在线免费观看| 日韩精品第一页| 91啦中文在线| 精品久久久久久久久国产字幕| 妞干网在线免费视频| 日本国产亚洲| 亚洲成人a级网| 亚洲AV无码片久久精品| 羞羞答答成人影院www| 欧美黑人巨大精品一区二区| 91国产丝袜播放在线| 男人的j进女人的j一区| 97视频热人人精品| 欧美91精品久久久久国产性生爱| 久久色视频免费观看| 亚洲av综合色区| 亚洲福利影院| 欧美一区二区久久| 日本黄色网址大全| 欧美在线高清| 国产精品高清在线观看| 国产成人精品一区二区无码呦| 99麻豆久久久国产精品免费优播| 亚洲日本精品| 激情网站在线| 91麻豆精品国产91久久久| 国产精品无码网站| 亚洲无中文字幕| 日韩av色在线| 成人爽a毛片一区二区| 欧美激情一区在线观看| 久久成人免费观看| 久久伊人久久| 一区二区三区四区在线观看视频| 日本中文字幕在线免费观看| 国产乱码精品一区二区三区五月婷| 蜜桃导航-精品导航| 午夜羞羞小视频在线观看| 在线观看91视频| 一本色道综合久久欧美日韩精品| 小说区亚洲自拍另类图片专区| 日本精品久久久久影院| 国内精品久久久久久久久久久 | 91久久极品少妇xxxxⅹ软件| 777电影在线观看| 红桃av永久久久| 日本在线视频播放| 911久久香蕉国产线看观看| 国产精品扒开腿做爽爽爽男男| 日韩在线视频第一页| 亚洲免费观看高清| 日本高清一区二区视频| 91亚洲国产| 成人精品久久久| 色综合久久影院| 欧美丝袜自拍制服另类| av黄色在线免费观看| 久久精品人人| 免费观看成人在线| 人狥杂交一区欧美二区| 亚洲福利视频在线| 澳门黄色一级片| 豆国产96在线|亚洲| 国产在线观看欧美| 伊人久久亚洲| 色综合五月天导航| 成 人 免费 黄 色| 一区二区三区在线视频免费观看| 99re6在线观看| 99久久激情| 国产精品免费一区豆花| 蜜桃视频在线观看免费视频网站www | 亚洲第一男人av| 日韩美女视频网站| 99免费精品在线| 国产成人黄色片| 国产精品午夜一区二区三区| 国产91在线高潮白浆在线观看 | 精品久久久久久久人人人人传媒| 国产亚洲精品久久777777| 成人性视频网站| 国产黄色激情视频| 中文字幕亚洲影视| 国产精品自产拍在线观| 国产色在线观看| 欧美本精品男人aⅴ天堂| 亚洲精品午夜久久久久久久| 99久久精品国产一区二区三区| 女性女同性aⅴ免费观女性恋| 一道在线中文一区二区三区| 国产成人欧美在线观看| 91网在线看| 日韩成人在线视频观看| а中文在线天堂| 中文字幕色av一区二区三区| 色哟哟免费视频| 国产精品久久久久久模特| 欧美一二三区| 高清久久精品| 欧美极品欧美精品欧美视频 | 99久久精品国产毛片| 999在线免费视频| 欧美一区二区| 久久人人九九| 欧美亚洲二区| 欧美精品aaa| 2021av在线| 精品国产sm最大网站| www.久久久久久久| 亚洲男人的天堂一区二区| 日本japanese极品少妇| 毛片一区二区三区| 精品无码一区二区三区在线| 日韩av免费大片| 国产传媒一区| 日本一区二区三区中文字幕| 国外色69视频在线观看| 日本在线观看www| 亚洲精品美女网站| 国产精品探花视频| 日韩欧美精品中文字幕| 麻豆精品一区二区三区视频| 国产日产精品1区| 色综合久久久无码中文字幕波多| 亚洲欧美成人| 久久久久久久香蕉| 日韩欧美在线中字| 久久亚洲国产精品日日av夜夜| 久久视频社区| 国产精品美女久久久久久免费| 国产精品偷拍| 久久综合五月天| а天堂8中文最新版在线官网| 亚洲精品aⅴ中文字幕乱码| wwwxxxx国产| 欧美疯狂性受xxxxx喷水图片| 欧美一级淫片免费视频黄| 亚洲大型综合色站| 亚洲一级理论片| 久久久久久青草| 国产欧美日韩激情| 国产精品第七页| 国产精品一二三四| 午夜久久福利视频| 日韩电影在线观看电影| 日韩精品无码一区二区三区免费| 在线成人av| 97超碰国产精品| 欧美1区免费| 糖心vlog在线免费观看| 日本一区二区在线看| 3d动漫精品啪啪一区二区三区免费 | 精品少妇一区二区三区在线视频 | 欧美日韩精品免费观看视频| 久久久久久少妇| 色哟哟精品一区| 国产精品久久久久久久久久精爆| 午夜国产不卡在线观看视频| 久草视频手机在线观看| 亚洲女女做受ⅹxx高潮| 麻豆天美蜜桃91| 中文无字幕一区二区三区| 国产又色又爽又高潮免费| 欧美高清在线视频| 99久久99久久精品免费| 国产精品女人毛片| 亚欧精品视频一区二区三区| 日本一区二区三区在线不卡| 欧美三级视频网站| 亚洲欧美日韩中文字幕一区二区三区 | 日产精品久久久久| 欧美性猛交xxxx免费看久久久| 九九九在线观看| 色婷婷精品大在线视频| 亚洲大片免费观看| 欧美久久久久久久久中文字幕| 一卡二卡在线观看| 日韩三级高清在线| 亚洲欧美另类一区| 亚洲国产美女久久久久| 天天爽夜夜爽夜夜爽| 日韩av一区在线观看| 大胆av不用播放器在线播放| 欧美精品v日韩精品v韩国精品v| 中文字幕一区2区3区| 在线一区二区视频| www.国产毛片| 欧美午夜精品一区| 国产精品久久久久久久免费看| 欧美一区二区三区在线电影| 国产高清第一页| 日韩精品免费在线观看| 噜噜噜噜噜在线视频| 一区二区三区视频免费在线观看| 91精品久久久| 91成人免费观看网站| 日本另类视频| 91中文字精品一区二区| 性欧美lx╳lx╳| 亚洲色图自拍| 亚洲私人影院| 国产精品99久久免费黑人人妻| 精品一区二区三区在线观看国产| 亚洲乱妇老熟女爽到高潮的片 | 国产中文字幕91| 色成人免费网站| 亚洲最大的av网站| 中文字幕亚洲在线观看| 麻豆久久久av免费| 外国成人免费视频| 北条麻妃69av| 国产一区二区三区四区五区入口| 国内自拍偷拍视频| 中文天堂在线一区| 欧美精品二区三区| 制服丝袜亚洲播放| 久草在线免费福利资源| 久久999免费视频| 亚洲深夜视频| 古典武侠综合av第一页| 不卡一区综合视频| 亚洲人成无码网站久久99热国产| 日韩电影在线观看电影| 亚洲av成人片无码| 国产精品麻豆网站| 久久久久久亚洲av无码专区| 精品三级在线观看| 求av网址在线观看| 啪一啪鲁一鲁2019在线视频| 国产成人久久精品一区二区三区| 欧美日韩精品免费观看视一区二区 | 亚洲综合小说区| 成人在线一区| 国产成人黄色片| 国产不卡视频一区| www.4hu95.com四虎| 天天操天天干天天综合网| 一卡二卡三卡在线观看| 日韩专区在线播放| 色香欲www7777综合网| 国产精品免费一区二区| 牛牛国产精品| 911av视频| 欧美国产视频在线| 欧美另类高清videos的特点| 日韩黄色在线免费观看| 黄色成人在线网| 91香蕉视频在线下载| 国产精品精品国产一区二区| 日韩手机在线观看视频| 久久亚洲综合色| 亚洲午夜18毛片在线看| 亚洲第一在线视频| 毛片在线网址| 97netav| 成人在线免费观看91| 欧美日韩亚洲自拍| 国产午夜三级一区二区三| 久久精品久久久久久久| 亚洲日本aⅴ片在线观看香蕉| 欧产日产国产精品视频| 国产精品一区二区不卡视频| 欧美日韩免费观看一区=区三区| 日韩av.com| 亚洲香肠在线观看| 人妻妺妺窝人体色www聚色窝 | 自拍欧美一区| 日日碰狠狠躁久久躁婷婷| 久久久精品国产免大香伊| 国产一区二区视频免费| 日韩精品在线免费播放| yw.尤物在线精品视频| 亚洲欧美日韩不卡一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲ⅴ国产v天堂a无码二区| 欧美优质美女网站| 成人无遮挡免费网站视频在线观看| 91美女福利视频高清| 黄色精品免费| 国产精品久久久免费观看| 欧美天天综合色影久久精品| 你懂得网站在线| 国产精品成人一区二区| 亚洲国产精品成人综合久久久| 伊人性伊人情综合网| 成人毛片在线精品国产| 欧美激情久久久| 五月综合久久| 色免费在线视频| 亚洲激情一二三区| 日本黄色三级视频| 国产精品国产三级国产aⅴ浪潮| 久久日文中文字幕乱码| 亚洲丝袜在线观看| 欧美日韩亚洲成人| 日韩在线资源| 国产精品v欧美精品∨日韩| 久久久噜噜噜| www.av免费| 日韩精品中文字| av日韩久久|