91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国


待發短信

在線客服
產品支持 短信寶客服
合作渠道 渠道合作
服務咨詢

4001-021-502

工作時間

9:00-21:00

typehoV1.2短信插件開發

typeho是一款內核強健﹑擴展方便﹑體驗友好﹑運行流暢的輕量級開源博客程序。僅僅 7 張數據表,加上不足 400KB 的代碼,就實現了完整的插件與模板機制。超低的 CPU 和內存使用率,足以發揮主機的最高性能。今天小編為大家講解一下typehoV1.2這個版本的短信插件該如何開發,短信接口使用的是我們短信寶短信群發平臺,我們短信寶短信群發平臺極其穩定,而且短信發送速度相當快捷,驗證碼和訂單通知在3~5秒就能收到,用戶體驗非常好,注冊就送測試短信。

插件的目錄結構如下:

├─SmsBaoSms插件目錄

│  ├─captcha           字體文件目錄

│  │  ├─resources   

│  │  │  ├─fonts   

│  │  │  ├─tools    

│  │  │  ├─words    

│  │  ├─ captcha.php  

│  ├─page_regbysms.php           注冊界面

│  ├─Plugin.php           插件類

│  ├─register.php           登錄界面

│  ├─sendsms.php           短信發送類

下面具體給大家說一下每個文件的作用及代碼 Plugin.php是插件的安裝文件,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
/**
 * Typecho版本手機注冊插件
 * @package SmsBaoSms For Typecho
 * @author 短信寶
 * @version 1.0.1
 */
class SmsBaoSms_Plugin implements Typecho_Plugin_Interface
{
    // 激活插件
    public static function activate(){
        return _t('插件已經激活,需先配置信息!');
    }
 
 
    // 禁用插件
    public static function deactivate(){
        //恢復原注冊頁面
        if(copy(dirname(__FILE__).'/register.php',dirname(__FILE__).'/../../../'.substr(__TYPECHO_ADMIN_DIR__,1,count(__TYPECHO_ADMIN_DIR__)-2).'/register.php')){
        }
        return _t('插件已被禁用');
    }
 
 
    // 插件配置面板
    public static function config(Typecho_Widget_Helper_Form $form){
        //表單驗證
        $alidayukey = new Typecho_Widget_Helper_Form_Element_Text('alidayukey'null'', _t('短信寶賬號:'));
        $form->addInput($alidayukey->addRule('required', _t('短信寶賬號不能為空!')));
 
 
        $alidayusecret = new Typecho_Widget_Helper_Form_Element_Text('alidayusecret'null'', _t('短信寶密碼:'));
        $form->addInput($alidayusecret->addRule('required', _t('短信寶密碼不能為空!')));
 
 
        $signname = new Typecho_Widget_Helper_Form_Element_Text('signname'null'', _t('短信寶簽名:'));
        $form->addInput($signname->addRule('required', _t('簽名名稱不能為空!')));
 
 
        $templatecode = new Typecho_Widget_Helper_Form_Element_Text('templatecode'null'', _t('短信寶模版CODE:'));
        $form->addInput($templatecode->addRule('required', _t('模版CODE不能為空!')));
 
 
        $isindex = new Typecho_Widget_Helper_Form_Element_Radio('isindex', array(
            'y'=>_t('存在'),
            'n'=>_t('不存在')
        ), 'y', _t('存在index.php'), _t("前臺文章url是否存在index.php:"));
        $form->addInput($isindex->addRule('enum', _t(''), array('y''n')));
 
 
        $alidayukey = @isset($_POST['alidayukey']) ? addslashes(trim($_POST['alidayukey'])) : '';
        $isindex = @isset($_POST['isindex']) ? addslashes(trim($_POST['isindex'])) : '';
        if($alidayukey!=''){
            //$option = self::getConfig();
            $db = Typecho_Db::get();
            //判斷目錄權限
            $queryTheme= $db->select('value')->from('table.options')->where('name = ?''theme'); 
            $rowTheme = $db->fetchRow($queryTheme);
            if(!is_writable(dirname(__FILE__).'/../../themes/'.$rowTheme['value'])){
                Typecho_Widget::widget('Widget_Notice')->set(_t('主題目錄不可寫,請更改目錄權限。'.__TYPECHO_THEME_DIR__.'/'.$rowTheme['value']), 'success');
            }
            if(!is_writable(dirname(__FILE__).'/../../../'.substr(__TYPECHO_ADMIN_DIR__,1,count(__TYPECHO_ADMIN_DIR__)-2).'/register.php')){
                Typecho_Widget::widget('Widget_Notice')->set(_t('后臺目錄不可寫,請更改目錄權限。'.__TYPECHO_ADMIN_DIR__.'register.php'), 'success');
            }
            //如果數據表沒有添加注冊頁面就插入
            $query= $db->select('slug')->from('table.contents')->where('template = ?''page_regbysms.php'); 
            $row = $db->fetchRow($query);
            if(count($row)==0){
                $contents = array(
                    'title'      =>  '注冊用戶',
                    'slug'      =>  'reg',
                    'created'   =>  Typecho_Date::time(),
                    'text'=>  '<!--markdown-->',
                    'password'  =>  '',
                    'authorId'     =>  Typecho_Cookie::get('__typecho_uid'),
                    'template'     =>  'page_regbysms.php',
                    'type'     =>  'page',
                    'status'     =>  'hidden',
                );
                $insert = $db->insert('table.contents')->rows($contents);
                $insertId = $db->query($insert);
                $slug=$contents['slug'];
            }else{
                $slug=$row['slug'];
            }
            //如果page_regbysms.php不存在就創建
            if(!file_exists(dirname(__FILE__).'/../../themes/'.$rowTheme['value']."/page_regbysms.php")){
                $regfile = fopen(dirname(__FILE__)."/page_regbysms.php""r") or die("不能讀取page_regbysms.php文件");
                $regtext=fread($regfile,filesize(dirname(__FILE__)."/page_regbysms.php"));
                fclose($regfile);
                $regpage = fopen(dirname(__FILE__).'/../../themes/'.$rowTheme['value']."/page_regbysms.php""w") or die("不能寫入page_regbysms.php文件");
                fwrite($regpage, $regtext);
                fclose($regpage);
            }
            //將跳轉新注冊頁面的鏈接寫入原register.php
            $querySiteUrl= $db->select('value')->from('table.options')->where('name = ?''siteUrl'); 
            $rowSiteUrl = $db->fetchRow($querySiteUrl);
            if($isindex=='y'){
                $siteUrl=$rowSiteUrl['value'].'/index.php/'.$slug.'.html';
            }else{
                $siteUrl=$rowSiteUrl['value'].'/'.$slug.'.html';
            }
            $registerphp='
                <?php
                include "common.php";
                if ($user->hasLogin() || !$options->allowRegister) {
                    $response->redirect($options->siteUrl);
                }else{
                    header("Location: '.$siteUrl.'");
                }
                ?>
            ';
            $regphp = fopen(dirname(__FILE__).'/../../../'.substr(__TYPECHO_ADMIN_DIR__,1,count(__TYPECHO_ADMIN_DIR__)-2).'/register.php'"w") or die("不能寫入register.php文件");
            fwrite($regphp, $registerphp);
            fclose($regphp);
        }
    }
 
 
    // 個人用戶配置面板
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}
 
 
    // 獲得插件配置信息
    public static function getConfig(){
        return Typecho_Widget::widget('Widget_Options')->plugin('SmsBaoSms');
    }
}

2:page_regbysms.php為注冊界面 代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<?php
/**
 * 手機注冊頁面
 *
 * @package custom
 */
?>
<?php session_start();if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php
$db = Typecho_Db::get();
$action = isset($_POST['action']) ? addslashes(trim($_POST['action'])) : '';
/** 如果已經登錄 */
if ($this->user->hasLogin()) {
    /** 直接返回 */
    $this->response->redirect($this->options->index);
}
 
if($action=='regbysms'){
    $name = isset($_POST['name']) ? addslashes(trim($_POST['name'])) : '';
    $code = isset($_POST['code']) ? addslashes(trim($_POST['code'])) : '';;
    if($name&&$code){
        $sessionCode = isset($_SESSION['code']) ? $_SESSION['code'] : '';
 
        if(strcasecmp($code,$sessionCode)==0){
            $query= $db->select('uid')->from('table.users')->where('name = ?', $name);
            $user = $db->fetchRow($query);
            if($user){
                /*登錄*/
                $authCode = function_exists('openssl_random_pseudo_bytes') ?
                    bin2hex(openssl_random_pseudo_bytes(16)) : sha1(Typecho_Common::randString(20));
                $user['authCode'] = $authCode;
 
                Typecho_Cookie::set('__typecho_uid', $user['uid'], 0);
                Typecho_Cookie::set('__typecho_authCode', Typecho_Common::hash($authCode), 0);
 
                /*更新最后登錄時間以及驗證碼*/
                $db->query($db
                    ->update('table.users')
                    ->expression('logged''activated')
                    ->rows(array('authCode' => $authCode))
                    ->where('uid = ?', $user['uid']));
 
                /*壓入數據*/
                $this->push($user);
                $this->_user = $user;
                $this->_hasLogin = true;
                $this->pluginHandle()->loginSucceed($this, $name, ''false);
 
                /*重置短信驗證碼*/
                $randCode = '';
                $chars = 'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPRSTUVWXYZ23456789';
                for ( $i = 0; $i < 5; $i++ ){
                    $randCode .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
                }
                $_SESSION['code'] = strtoupper($randCode);
 
                $this->widget('Widget_Notice')->set(_t('用戶已存在,已為您登錄 '), 'success');
                /*跳轉驗證后地址*/
                if (NULL != $this->request->referer) {
                    $this->response->redirect($this->request->referer);
                else if (!$this->user->pass('contributor'true)) {
                    /*不允許普通用戶直接跳轉后臺*/
                    $this->response->redirect($this->options->profileUrl);
                else {
                    $this->response->redirect($this->options->adminUrl);
                }
            }else{
                /*注冊*/
                /** 如果已經登錄 */
                if ($this->user->hasLogin() || !$this->options->allowRegister) {
                    /** 直接返回 */
                    $this->response->redirect($this->options->index);
                }
                $hasher = new PasswordHash(8, true);
                $generatedPassword = Typecho_Common::randString(7);
 
                $dataStruct = array(
                    'name'      =>  $name,
                    'mail'      =>  $name.'@tongleer.com',
                    'screenName'=>  $name,
                    'password'  =>  $hasher->HashPassword($generatedPassword),
                    'created'   =>  $this->options->time,
                    'group'     =>  'subscriber'
                );
 
                $insert = $db->insert('table.users')->rows($dataStruct);
                $insertId = $db->query($insert);
 
                $this->pluginHandle()->finishRegister($this);
 
                $this->user->login($name, $generatedPassword);
 
                Typecho_Cookie::delete('__typecho_first_run');
 
                /*重置短信驗證碼*/
                $randCode = '';
                $chars = 'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPRSTUVWXYZ23456789';
                for ( $i = 0; $i < 5; $i++ ){
                    $randCode .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
                }
                $_SESSION['code'] = strtoupper($randCode);
 
                $this->widget('Widget_Notice')->set(_t('用戶 <strong>%s</strong> 已經成功注冊, 密碼為 <strong>%s</strong>', $this->screenName, $generatedPassword), 'success');
                $this->response->redirect($this->options->adminUrl);
            }
        }else{
            echo'<script>alert("驗證碼錯誤!");</script>';
        }
    }
}
?>
<?php $this->need('header.php'); ?>
<link rel="stylesheet" href="//cdn.bootcss.com/mdui/0.4.1/css/mdui.min.css" xmlns="http://www.w3.org/1999/html">
<script src="//cdn.bootcss.com/mdui/0.4.1/js/mdui.min.js"></script>
<script src="//libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<!-- content section -->
<section>
    <div class="mdui-shadow-10 mdui-center" style="width:300px;">
        <div class="mdui-typo mdui-valign mdui-color-blue mdui-text-color-white">
            <h6 class="mdui-center">用戶注冊</h6>
        </div>
        <form action="" method="post" class="mdui-p-x-1 mdui-p-y-1">
            <div class="mdui-textfield mdui-textfield-floating-label">
                <label class="mdui-textfield-label"><?php _e('手機號'); ?></label>
                <input class="mdui-textfield-input" id="name" name="name" type="text" required value="<?php echo @$_POST['name']; ?>"/>
                <div class="mdui-textfield-error">手機號不能為空</div>
            </div>
 
            <div class="mdui-textfield mdui-textfield-floating-label">
                <label class="mdui-textfield-label"><?php _e('圖形驗證碼'); ?></label>
                <input  class="mdui-textfield-input" id="CAPTCHA" style="width:50%;*float:left;" class="input" type="text" size="10" value="" name="captcha_code" >
                </input>
                <div class="mdui-textfield-error">圖形驗證碼不能為空</div>
                <img style="150px;" id="captcha_img" src="<?php $this->options->siteUrl(); ?>usr/plugins/SmsBaoSms/captcha/captcha.php" title="看不清?點擊更換" alt="看不清?點擊更換" onclick="document.getElementById('captcha_img').src='<?php $this->options->siteUrl(); ?>usr/plugins/SmsBaoSms/captcha/captcha.php?'+Math.random();document.getElementById('CAPTCHA').focus();return false;" />
                <a href="javascript:void(0)" onclick="document.getElementById('captcha_img').src='<?php $this->options->siteUrl(); ?>usr/plugins/SmsBaoSms/captcha/captcha.php?'+Math.random();document.getElementById('CAPTCHA').focus();return false;">點擊更換</a>
            </div>
 
            <div class="mdui-textfield mdui-textfield-floating-label">
                <label class="mdui-textfield-label"><?php _e('手機驗證碼'); ?></label>
                <input class="mdui-textfield-input" id="code" name="code" type="text" required value="<?php echo @$_POST['code']; ?>"/>
                <div class="mdui-textfield-error">手機驗證碼不能為空</div>
            </div>
            <div class="mdui-row-xs-2">
                <div id="smsmsg" class="mdui-col">
                    <button id="sendsmsmsg" class="mdui-btn mdui-color-blue mdui-text-color-white">發送驗證碼</button>
                </div>
                <div class="mdui-col">
                    <input type="hidden" id="sitetitle" value="<?php $this->options->title();?>" />
                    <input type="hidden" name="action" value="regbysms" />
                    <button id="reg" class="mdui-btn mdui-btn-block mdui-btn-raised mdui-color-theme-accent mdui-ripple mdui-color-blue mdui-text-color-white"><?php _e('注冊'); ?></button>
                </div>
            </div>
        </form>
    </div>
</section>
<!-- end content section -->
<?php $this->need('footer.php'); ?>
<script>
    $("#sendsmsmsg").click(function(){
        var name=$("#name").val();
        var regexp = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
        var captcha = $("#CAPTCHA").val();
        if(!regexp.test(name)){
            alert('請輸入有效的手機號碼!');
            return false;
        }
        // settime();
        $.post("<?php $this->options->siteUrl(); ?>usr/plugins/SmsBaoSms/sendsms.php",{name:name,sitetitle:$('#sitetitle').val(),captcha:captcha},function(data){
            if(data=='toofast'){
                alert('發送頻率太快了~');
            }else if(data=='captchaempty'){
                alert('圖形驗證碼有誤~');
            }else if(data == 'captchafalse'){
                alert('圖形驗證碼有誤~');
            }else if(data == 'success'){
                alert('發送成功~');
                clearTimeout(timer);
                settime();
            }else{
                alert('發送失敗');
            }
        });
    });
    $("#reg").click(function(e){
        var name=$("#name").val();
        var regexp = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
        if(!regexp.test(name)){
            alert('請輸入有效的手機號碼!');
            return;
        }
        var yzm = $("input[name=code]").val().replace(/(^\s*)|(\s*$)/g, "");
        if(yzm==""){
            alert("請輸入短信驗證碼");
            return;
        }
        $('form').submit();
    });
    var timer;
    var countdown=60;
    function settime() {
        if (countdown == 0) {
            $("#smsmsg").html("<button id='sendsmsmsg' class='mdui-btn mdui-btn-raised mdui-color-blue mdui-text-color-white'>發送驗證碼</button>");
            countdown = 60;
            clearTimeout(timer);
            return;
        else {
            $("#smsmsg").html("等待("+countdown+")秒");
            countdown--;
        }
        timer=setTimeout(function() {
            settime()
        },1000)
    }
</script>

3:register.php為登錄界面 代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
include 'common.php';
 
if ($user->hasLogin() || !$options->allowRegister) {
    $response->redirect($options->siteUrl);
}
$rememberName = htmlspecialchars(Typecho_Cookie::get('__typecho_remember_name'));
$rememberMail = htmlspecialchars(Typecho_Cookie::get('__typecho_remember_mail'));
Typecho_Cookie::delete('__typecho_remember_name');
Typecho_Cookie::delete('__typecho_remember_mail');
 
$bodyClass = 'body-100';
 
include 'header.php';
?>
<div class="typecho-login-wrap">
    <div class="typecho-login">
        <h1><a href="http://typecho.org" class="i-logo">Typecho</a></h1>
        <form action="<?php $options->registerAction(); ?>" method="post" name="register" role="form">
            <p>
                <label for="name" class="sr-only"><?php _e('用戶名'); ?></label>
                <input type="text" id="name" name="name" placeholder="<?php _e('用戶名'); ?>" value="<?php echo $rememberName; ?>" class="text-l w-100" autofocus />
            </p>
            <p>
                <label for="mail" class="sr-only"><?php _e('Email'); ?></label>
                <input type="email" id="mail" name="mail" placeholder="<?php _e('Email'); ?>" value="<?php echo $rememberMail; ?>" class="text-l w-100" />
            </p>
            <p class="submit">
                <button type="submit" class="btn btn-l w-100 primary"><?php _e('注冊'); ?></button>
            </p>
        </form>
 
        <p class="more-link">
            <a href="<?php $options->siteUrl(); ?>"><?php _e('返回首頁'); ?></a>
            &bull;
            <a href="<?php $options->adminUrl('login.php'); ?>"><?php _e('用戶登錄'); ?></a>
        </p>
    </div>
</div>
<?php
include 'common-js.php';
?>
<script>
$(document).ready(function () {
    $('#name').focus();
});
</script>
<?php
include 'footer.php';
?>

4:sendsms.php 為短信寶發送類文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php 
session_start();
date_default_timezone_set('Asia/Shanghai');
include '../../../config.inc.php';
 
 
if(@$_COOKIE["sendcodetime"]!=''){
   echo 'toofast';
   return;
}
//驗證圖形驗證碼
$captcha =  $_POST['captcha'];
 
if(empty($captcha) || empty($_SESSION['sms_code'])) {
    echo 'captchaempty';
    return;
else if ((trim(strtolower($captcha)) != $_SESSION['sms_code'])) {
    echo 'captchafalse';
    return;
}else{
    unset($_SESSION['sms_code']);
    setcookie("sendcodetime", time(), time()+10);
    $query= $db->select('value')->from('table.options')->where('name = ?''plugin:SmsBaoSms');
    $row = $db->fetchRow($query);
    $arr=explode(':',$row['value']);
    $appkeystr=$arr[6];
    $secretstr=$arr[10];
    $aliCode=$arr[18];
    $signname=$arr[14];
    $appkey=substr($appkeystr,1,count($appkeystr)-4);
    $secret=substr($secretstr,1,count($secretstr)-4);
    $aliCode=substr($aliCode,1,count($aliCode)-4);
    $signname=substr($signname,1,count($signname)-4);
//重置短信驗證碼
    $randCode = rand(10000,99999);
    $content = '【'.$signname.'】'.str_replace('{$code}',$randCode,$aliCode);
    $_SESSION['code'] = $randCode;
    $name = isset($_POST['name']) ? addslashes(trim($_POST['name'])) : '';//發送到的用戶名
    $sitetitle = isset($_POST['sitetitle']) ? addslashes(trim($_POST['sitetitle'])) : '';
    $smsapi = "http://api.smsbao.com/";
    $user = $appkey; //短信平臺帳號
    $pass = md5($secret); //短信平臺密碼
    $content = $content;//要發送的短信內容
    $phone = $name;//要發送短信的手機號碼
    $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);
    $result = file_get_contents($sendurl);
    if($result == '0'){
        echo 'success';
    }else{
        echo 'false';
    }
    //    echo $_SESSION['code'];
}
 
?>

captcha文件下載鏈接 http://www.gjrencai.com/download/captcha.zip

經過上面的替換,短信寶的短信平臺已經替換成功了,可以正常使用了。進行測試發送:

報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,即便遇到敏感文字我們都不會人工審核,短信內容3~5秒就可送達。

另外:我們已經開發好完整的typeho系統短信寶插件,點擊此鏈接 下載及查看安裝流程。

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国
99视频热这里只有精品免费| 日本中文在线一区| 日本韩国欧美一区二区三区| 狠狠狠色丁香婷婷综合激情| 日本aⅴ免费视频一区二区三区| 中文字幕一区二区三区在线播放| 国产欧美精品区一区二区三区| 精品久久久久久久久久久久久久久久久 | 久久九九全国免费| 欧美精品一区二区久久久| 精品国产一区二区三区av性色| 日韩欧美一区二区视频| 久久综合狠狠综合| 欧美国产视频在线| 亚洲精品综合在线| 性久久久久久久久久久久| 视频在线观看一区二区三区| 久久99精品国产.久久久久久| 狠狠色综合日日| 不卡一区二区在线| 欧美日免费三级在线| 日韩美女天天操| 亚洲国产精品精华液2区45| 中文字幕在线观看不卡| 亚洲一区二区三区小说| 日韩国产一二三区| 国产成人精品亚洲午夜麻豆| 在线一区二区三区四区五区| 欧美日韩电影在线播放| 欧美电影免费观看高清完整版| 久久久久国产精品麻豆ai换脸| 亚洲免费毛片网站| 日本sm残虐另类| 成人18精品视频| 91精品免费在线观看| 中文成人综合网| 免费在线一区观看| 99视频超级精品| 欧美大白屁股肥臀xxxxxx| 国产精品久久久久久久午夜片| 五月婷婷综合网| 成人免费看视频| 欧美一区二区三区免费观看视频| 国产精品久久久久久久久免费丝袜 | 麻豆成人久久精品二区三区小说| 国产福利一区二区三区在线视频| 色av一区二区| 欧美激情资源网| 久久国产精品第一页| 91搞黄在线观看| 国产精品久久久久精k8| 激情小说亚洲一区| 777午夜精品视频在线播放| 1024国产精品| 国产成人av影院| 精品少妇一区二区三区 | 欧美在线免费观看亚洲| 国产精品天干天干在观线| 麻豆国产一区二区| 精品视频999| ●精品国产综合乱码久久久久| 国产一区二区三区高清播放| 欧美一区永久视频免费观看| 一区二区三区四区精品在线视频| 懂色av一区二区三区免费观看| 日韩免费高清视频| 午夜视频久久久久久| 91网站黄www| 欧美国产禁国产网站cc| 国产一区二区三区观看| 精品播放一区二区| 日本不卡视频在线| 欧美一区二区在线视频| 亚洲va欧美va天堂v国产综合| 日本高清无吗v一区| 亚洲欧美色图小说| 成人精品一区二区三区四区| 久久久三级国产网站| 国产一区二区免费看| 亚洲精品一区二区三区四区高清| 免费在线看成人av| 日韩写真欧美这视频| 日韩电影免费一区| 欧美一区二区三区播放老司机| 偷拍与自拍一区| 日韩三级免费观看| 免费在线观看视频一区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品亚洲专一区二区三区| 久久先锋影音av| 成人午夜短视频| 一区二区三区在线观看欧美| 欧美日韩国产小视频在线观看| 午夜视频在线观看一区二区三区| 欧美日韩国产高清一区二区三区| 青青青伊人色综合久久| 精品国产一区二区三区久久影院 | 日本美女一区二区三区| 日韩一区二区三区av| 琪琪一区二区三区| 国产亚洲精品福利| 在线精品视频一区二区三四| 日韩综合在线视频| 国产亚洲一本大道中文在线| 91蝌蚪国产九色| 日韩精品欧美精品| 中文字幕+乱码+中文字幕一区| 日本精品裸体写真集在线观看| 人禽交欧美网站| 中文字幕在线观看不卡| 欧美高清dvd| 成人禁用看黄a在线| 婷婷综合另类小说色区| 国产午夜精品久久| 欧美日韩在线三级| 国产成人精品一区二区三区网站观看| 亚洲另类春色校园小说| 亚洲精品在线免费播放| 在线一区二区三区四区五区| 国产在线视频一区二区| 亚洲免费观看高清| 欧美成人一区二区三区| 日本韩国一区二区三区| 极品少妇一区二区三区精品视频| 亚洲视频1区2区| 久久久久免费观看| 欧美蜜桃一区二区三区| 成人精品一区二区三区四区 | 99精品偷自拍| 开心九九激情九九欧美日韩精美视频电影| 国产欧美视频一区二区三区| 欧美精品黑人性xxxx| 99re8在线精品视频免费播放| 美女视频网站久久| 一区二区三区久久久| 久久女同性恋中文字幕| 欧美久久免费观看| 色乱码一区二区三区88| 国产成人在线看| 久热成人在线视频| 日韩高清在线电影| 亚洲自拍偷拍欧美| 亚洲欧美日本在线| 国产欧美视频一区二区三区| 日韩视频在线观看一区二区| 色婷婷亚洲精品| jiyouzz国产精品久久| 国产精品18久久久久久vr| 日本aⅴ精品一区二区三区| 一区二区理论电影在线观看| 中文字幕av一区二区三区免费看 | 精品盗摄一区二区三区| 欧美一区二区三区视频免费播放 | 精品一区二区三区久久| 日本中文字幕一区| 偷拍日韩校园综合在线| 亚洲福利国产精品| 亚洲6080在线| 亚洲午夜免费电影| 亚洲午夜久久久久久久久电影网| 亚洲激情六月丁香| 亚洲综合在线视频| 亚洲一级二级三级在线免费观看| 亚洲精品写真福利| 亚洲午夜免费视频| 日韩av高清在线观看| 免费观看一级特黄欧美大片| 久久精品国产澳门| 国内久久婷婷综合| 国产激情一区二区三区| 成人综合婷婷国产精品久久免费| 国产精品2024| 成人高清免费观看| 91久久一区二区| 欧美日本视频在线| 精品国产一区a| 国产精品电影一区二区| 亚洲精品欧美综合四区| 亚洲电影欧美电影有声小说| 日韩成人dvd| 国产精一品亚洲二区在线视频| 国产91清纯白嫩初高中在线观看| 成人国产免费视频| 欧美日韩精品一区二区三区| 欧美猛男男办公室激情| 日韩精品中文字幕在线不卡尤物| 久久久久久久久蜜桃| 国产精品久久久久久久久果冻传媒 | 中文字幕五月欧美| 亚洲猫色日本管| 首页国产丝袜综合| 国产一区视频在线看| 95精品视频在线| 欧美精选午夜久久久乱码6080| 日韩欧美久久久| 中文字幕一区二区三区在线观看| 午夜婷婷国产麻豆精品| 国产不卡高清在线观看视频| 在线精品视频免费播放| 精品国产乱码久久久久久久|