Esempio n. 1
3
File: Index.php Progetto: klsf/kldns
 public function index()
 {
     $action = I("post.action");
     if ($action == "login") {
         $user = I("post.user");
         $pwd = I("post.pwd");
         if (strlen($user) < 3 || strlen($pwd) < 5) {
             $this->assign("alert", sweetAlert("温馨提示", "用户名或者密码格式不正确!", "warning"));
         } else {
             $pwd = md5Pwd($pwd);
             if ($user = $this->pdo->find("select uid from pre_users where (user=:user or email=:user) and pwd=:pwd limit 1", array(":user" => $user, ":pwd" => $pwd))) {
                 $sid = getSid();
                 $this->pdo->execute("update pre_users set sid=:sid where uid=:uid limit 1", array(":uid" => $user['uid'], ":sid" => $sid));
                 Cookie::set("userSid", $sid, array("path" => "/", "expire" => 3600 * 24));
                 $this->assign("alert", sweetAlert("登录成功!", "欢迎回来,进入控制面板!", "success", U("/index/Panel/index")));
                 return $this->fetch("common/sweetAlert");
             } else {
                 $this->assign("alert", sweetAlert("温馨提示", "用户名或者密码不正确!", "warning"));
             }
         }
     } elseif ($action == "reg") {
         $this->assign("isReg", true);
         $user = I("post.user");
         $pwd = I("post.pwd");
         $email = strtolower(I("post.email"));
         $code = I("post.code");
         if (strlen($user) < 3) {
             $this->assign("alert", sweetAlert("温馨提示", "用户名太短!", "warning"));
         } elseif (strlen($pwd) < 5) {
             $this->assign("alert", sweetAlert("温馨提示", "密码太简单!", "warning"));
         } elseif (strlen($code) != 4 || !isset($_COOKIE['verification']) || md5(strtolower($code)) !== $_COOKIE['verification']) {
             $this->assign("alert", sweetAlert("温馨提示", "验证码错误!", "warning"));
         } elseif (!preg_match('/^[a-zA-Z0-9\\-\\_]+@[a-zA-Z0-9\\-]+\\.[a-zA-Z]+$/', $email)) {
             $this->assign("alert", sweetAlert("温馨提示", "邮箱格式不正确!", "warning"));
         } elseif ($this->pdo->find("select uid from pre_users where user=:user limit 1", array(":user" => $user))) {
             $this->assign("alert", sweetAlert("温馨提示", "用户名已存在!", "warning"));
         } elseif ($this->pdo->find("select uid from pre_users where email=:email limit 1", array(":email" => $email))) {
             $this->assign("alert", sweetAlert("温馨提示", "邮箱账号已存在!", "warning"));
         } else {
             setCookie('verification', null, -1, '/');
             //销毁验证码
             $insert = array();
             $insert[':user'] = $user;
             $insert[':pwd'] = md5Pwd($pwd);
             $insert[':email'] = $email;
             $insert['sid'] = getSid();
             if ($this->pdo->execute("INSERT INTO `pre_users` (`user`, `email`, `pwd`, `sid`, `regtime`) VALUES (:user, :email, :pwd, :sid, NOW())", $insert)) {
                 $this->assign("alert", sweetAlert("注册成功!", "马上登录!", "success", U("index")));
                 return $this->fetch("common/sweetAlert");
             } else {
                 $this->assign("alert", sweetAlert("温馨提示", "注册失败,请稍候再试!", "warning"));
             }
         }
     }
     $this->assign("webTitle", C("webTitle") ? C("webTitle") : "网站首页");
     return $this->fetch();
 }
Esempio n. 2
0
function fetch_youku_flv($url)
{
    preg_match("#id_(.*?)\\.html#", $url, $out);
    $id = $out[1];
    $content = get_curl_contents('http://v.youku.com/player/getPlayList/VideoIDS/' . $id);
    $data = json_decode($content);
    foreach ($data->data[0]->streamfileids as $k => $v) {
        $sid = getSid();
        $fileid = getfileid($v, $data->data[0]->seed);
        $one = $data->data[0]->segs->{$k};
        if ($k == 'flv' || $k == 'mp4') {
            return "http://f.youku.com/player/getFlvPath/sid/{$sid}_00/st/{$k}/fileid/{$fileid}?K={$one[0]->k}";
        }
        continue;
    }
}
Esempio n. 3
0
function getvideo($id)
{
    $content = get_curl_contents('http://v.youku.com/player/getPlaylist/VideoIDS/' . $id);
    $data = json_decode($content);
    $fileid_ = $data->data[0]->streamfileids;
    $fileid2_ = $fileid_->hd2;
    $sk = 'hd2';
    if (!$fileid2_) {
        $fileid2_ = $fileid_->mp4;
        $sk = 'mp4';
    }
    if (!$fileid2_) {
        $fileid2_ = $fileid_->flv;
        $sk = 'flv';
    }
    $sid = getSid();
    $fileid3_ = getfileid($fileid2_, $data->data[0]->seed);
    $filed1_ = substr($fileid3_, 0, 8);
    $filed2_ = substr($fileid3_, 10);
    $segs = $data->data['0']->segs->{$sk};
    $i = 0;
    $urllist = '';
    foreach ($segs as $seg1 => $v1) {
        $AA = strtoupper(dechex($i)) . '';
        if (strlen($AA) < 2) {
            $AA = '0' . $AA;
        }
        $filed_ = $filed1_ . $AA . $filed2_;
        $k1 = $v1->k;
        $k2 = $v1->k2;
        $size = $v1->size;
        $seconds = $v1->seconds;
        $sk = str_replace('hd2', 'flv', $sk);
        $urllist[$seg1]['url'] = 'k.youku.com/player/getFlvPath/sid/_00/st/' . $sk . '/fileid/' . $filed_ . '?K=' . $k1 . ',k2=' . $k2;
        $urllist[$seg1]['size'] = $size;
        $urllist[$seg1]['sec'] = $seconds;
        $i += 1;
    }
    return $urllist;
}
Esempio n. 4
0
function getYoukuFlv($url)
{
    //preg_match("#id_(.*?)\.html#",$url,$out);
    //$id=$out[1];
    $url2 = str_replace('_wd1', '', $url);
    //echo $url2;
    $content = get_curl_contents('http://v.youku.com/player/getPlayList/VideoIDS/' . $url2);
    $data = json_decode($content);
    $fileid_ = $data->data[0]->streamfileids;
    $fileid2_ = $fileid_->mp4;
    $sk = 'mp4';
    if (!$fileid2_) {
        $fileid2_ = $fileid_->flv;
        $sk = 'flv';
    }
    $sid = getSid();
    $fileid3_ = getfileid($fileid2_, $data->data[0]->seed);
    $filed1_ = substr($fileid3_, 0, 8);
    $filed2_ = substr($fileid3_, 10);
    //print_r($filed2_);
    $segs = $data->data[0]->segs->{$sk};
    $i = 0;
    //echo dechex(5);
    foreach ($segs as $seg1 => $v1) {
        $AA = strtoupper(dechex($i));
        if (count($AA) < 2) {
            $AA = '0' . $AA;
        }
        $i += 1;
        $filed_ = $filed1_ . $AA . $filed2_;
        $k1 = $v1->k;
        $k2 = $v1->k2;
        if ($i > 1) {
            $urllist .= '|';
        }
        $urllist .= 'http://f.youku.com/player/getFlvPath/sid/00_00/st/' . $sk . '/fileid/' . $filed_ . '?K=' . $k1 . ',k2=' . $k2;
    }
    return $urllist;
}
Esempio n. 5
0
    $checkEmail->execute(array(':email' => $email));
    if (strlen($user) < 3 || strlen($pwd) < 6) {
        $regMsg = '用户名或密码格式不正确';
    } elseif (!preg_match('/^[a-zA-Z0-9\\-\\_]+@[a-zA-Z0-9\\-]+\\.[a-zA-Z]+$/', $email)) {
        $regMsg = '邮箱格式不正确';
    } elseif (strlen($code) != 4 || !isset($_COOKIE['verification']) || md5(strtolower($code)) !== $_COOKIE['verification']) {
        $regMsg = '验证码错误';
    } elseif ($checkUser->fetch()) {
        $regMsg = '此用户名已存在';
    } elseif ($checkEmail->fetch()) {
        $regMsg = '该邮箱已经注册过';
    } else {
        setCookie('verification', null, -1, '/');
        //销毁验证码,以防利用这个验证码重复注册
        $pwd = getPwd($pwd);
        $sid = getSid();
        $sql = "INSERT INTO `kldns_users` (`user`, `email`, `pwd`, `sid`, `regtime`, `lasttime`, `lastip`, `logintime`, `loginip`) VALUES (:user,:email, :pwd, :sid, NOW(), NOW(), :ip, NOW(), :ip)";
        $stmt = $db->prepare($sql);
        if ($stmt->execute(array(':user' => $user, ':email' => $email, ':pwd' => $pwd, ':sid' => $sid, ':ip' => getIp()))) {
            setCookie('kldns_sid', $sid, time() + 3600 * 24 * 7, '/');
            exit("<script language='javascript'>alert('注册成功!马上进入控制面板!');window.location.href='/control.php';</script>");
        } else {
            $dberror = $db->errorInfo();
            $regMsg = '注册失败:保存数据库出错' . $dberror[2];
        }
    }
}
$title = '域名控制台';
//本页标题
require_once 'head.php';
?>
Esempio n. 6
0
function getYouku($url)
{
    if (strpos($url, 'html')) {
        $url2 = inter($url, 'id_', '.html');
    } elseif (strpos($url, 'swf')) {
        $url2 = inter($url, '/sid/', '/');
    } else {
        $url2 = str_replace('_wd1', '', $url);
    }
    $content = get_curl_contents('http://v.youku.com/player/getPlayList/VideoIDS/' . $url2);
    $data = json_decode($content);
    $fileid_ = $data->data[0]->streamfileids;
    $fileid2_ = $fileid_->mp4;
    $sk = 'mp4';
    if (!$fileid2_) {
        $fileid2_ = $fileid_->flv;
        $sk = 'flv';
    }
    $sid = getSid();
    $fileid3_ = getfileid($fileid2_, $data->data[0]->seed);
    $filed1_ = substr($fileid3_, 0, 8);
    $filed2_ = substr($fileid3_, 10);
    $segs = $data->data[0]->segs->{$sk};
    $i = 0;
    $urllist = '';
    foreach ($segs as $seg1 => $v1) {
        $AA = strtoupper(dechex($i)) . '';
        if (strlen($AA) < 2) {
            $AA = '0' . $AA;
        }
        $filed_ = $filed1_ . $AA . $filed2_;
        $k1 = $v1->k;
        $k2 = $v1->k2;
        $size = $v1->size;
        $seconds = $v1->seconds;
        $urllist .= '		<video>' . chr(13);
        $urllist .= '			<file>http://f.youku.com/player/getFlvPath/sid/00_00/st/' . $sk . '/fileid/' . $filed_ . '?K=' . $k1 . ',k2=' . $k2 . '</file>' . chr(13);
        $urllist .= '			<size>' . $size . '</size>' . chr(13);
        $urllist .= '			<seconds>' . $seconds . '</seconds>' . chr(13);
        $urllist .= '		</video>' . chr(13);
        $i += 1;
    }
    $urllist2 = '<?xml version="1.0" encoding="utf-8"?>' . chr(13);
    $urllist2 .= '	<ckplayer>' . chr(13);
    $urllist2 .= '	<flashvars>' . chr(13);
    $urllist2 .= '		{h->2}' . chr(13);
    $urllist2 .= '	</flashvars>' . chr(13);
    $urllist2 .= $urllist;
    $urllist2 .= '	</ckplayer>';
    echo $urllist2;
}
Esempio n. 7
0
function getvideo($id, $pid = 2)
{
    $hz = '_youku';
    $pidarrs[] = 'flv';
    $pidarrs[] = 'mp4';
    $pidarrs[] = 'hd2';
    $pidarrs[] = 'hd3';
    $content = get_curl_contents('http://v.youku.com/player/getPlayList/VideoIDS/' . $id);
    $data = json_decode($content);
    $fileid_ = $data->data[0]->streamfileids;
    $fileid2_ = $fileid_->hd3;
    $pido = '4';
    if (!$fileid2_) {
        $fileid2_ = $fileid_->hd2;
        $pido = '3';
    }
    if (!$fileid2_) {
        $fileid2_ = $fileid_->mp4;
        $pido = '2';
    }
    if (!$fileid2_) {
        $fileid2_ = $fileid_->flv;
        $pido = '1';
    }
    switch ($pido) {
        case '1':
            $qvars = __BQ__ . '_' . $id . $hz;
            break;
        case '2':
            $qvars = __BQ__ . '_' . $id . $hz . '|' . __GQ__ . '_' . $id . $hz;
            break;
        case '3':
            $qvars = __BQ__ . '_' . $id . $hz . '|' . __GQ__ . '_' . $id . $hz . '|' . __CQ__ . '_' . $id . $hz;
            break;
        case '4':
            $qvars = __BQ__ . '_' . $id . $hz . '|' . __GQ__ . '_' . $id . $hz . '|' . __CQ__ . '_' . $id . $hz . '|' . __YH__ . '_' . $id . $hz;
            break;
        default:
            $qvars = $id . $hz;
            break;
    }
    $pid = min($pid, $pido);
    $sk = $pidarrs[$pid - 1];
    $fileid2_ = $fileid_->{$sk};
    $sid = getSid();
    $fileid3_ = getfileid($fileid2_, $data->data[0]->seed);
    $filed1_ = substr($fileid3_, 0, 8);
    $filed2_ = substr($fileid3_, 10);
    $segs = $data->data['0']->segs->{$sk};
    $i = 0;
    $urllist = '';
    foreach ($segs as $seg1 => $v1) {
        $AA = strtoupper(dechex($i)) . '';
        if (strlen($AA) < 2) {
            $AA = '0' . $AA;
        }
        $filed_ = $filed1_ . $AA . $filed2_;
        $k1 = $v1->k;
        $k2 = $v1->k2;
        $size = $v1->size;
        $seconds = $v1->seconds;
        $sk = str_replace('hd2', 'flv', $sk);
        $sk = str_replace('hd3', 'flv', $sk);
        $urllist['urls'][$seg1]['url'] = 'http://f.youku.com/player/getFlvPath/sid/00_00/st/' . $sk . '/fileid/' . $filed_ . '?K=' . $k1 . ',k2=' . $k2;
        $urllist['urls'][$seg1]['size'] = $size;
        $urllist['urls'][$seg1]['sec'] = $seconds;
        $i += 1;
    }
    $urllist['vars'] = '{h->2}{a->' . $qvars . '}{f->' . __HOSTURL__ . '?url=[$pat' . ($pid - 1) . ']}';
    return $urllist;
}
Esempio n. 8
0
    $len = strlen($source);
    for ($i = 0; $i < $len; ++$i) {
        $seed = ($seed * 211 + 30031) % 65536;
        $index = $seed / 65536 * strlen($source);
        $c = substr($source, $index, 1);
        $mixed .= $c;
        $source = str_replace($c, "", $source);
    }
    return $mixed;
}
// echo
$get_data = file_get_contents("http://v.youku.com/player/getPlayList/VideoIDS/XMjU3MzIxOTk2");
$get_data_1 = file_get_contents("http://v.youku.com/player/getPlayList/VideoIDS/XMjU3MzIxOTk2/Pf/4/ctype/12/ev/1");
// $get_data = '{"data":[{"ct":"c","cs":"2050","logo":"http:\/\/g1.ykimg.com\/","seed":8395,"tags":["\u6cf0\u56fd"],"categories":"96","videoid":"64330499","vidEncoded":"XMjU3MzIxOTk2","username":"******","userid":"2871118","title":"\u62f3\u97381\u4e4b\u76d7\u4f5b\u7ebfCD3","up":0,"down":0,"ts":"YMkryzErbFZvVR8B*Bj9Vg","tsup":"YMkv7zIrbFZvVR8C3Bz9Vg","key1":"b148facb","key2":"bfd4235c4c9b2b93","tt":"0","videoSource":"1","seconds":"897.27","streamfileids":{"flv":"6*43*6*6*6*37*6*43*6*6*23*30*14*59*43*42*43*14*53*6*59*43*6*6*37*31*53*59*23*51*53*53*50*30*44*51*51*22*65*44*42*6*53*65*31*50*59*56*65*23*37*50*37*65*37*30*50*56*31*59*10*31*23*42*22*14*","mp4":"6*43*6*6*6*50*6*43*6*6*23*30*14*59*23*44*10*22*53*6*59*43*6*6*37*31*53*59*23*51*53*53*50*30*44*51*51*22*65*44*42*6*53*65*31*50*59*56*65*23*37*50*37*65*37*30*50*56*31*59*10*31*23*42*22*14*"},"segs":{"flv":[{"no":"0","size":"12936112","seconds":391,"k":"ca1fe0eba99f7429282adeac","k2":"1445df485f3ef867d"},{"no":"1","size":"11707423","seconds":393,"k":"c0290080ec12eb6624125f6e","k2":"1485442df33f8eacb"},{"no":"2","size":"3590770","seconds":112,"k":"6393b0d1bc4ce8f724125f6e","k2":"1710e97422bcc1289"}],"mp4":[{"no":"0","size":"25016518","seconds":391,"k":"42b93cc3cc3a4409282adeac","k2":"180bd156d83db08ff"},{"no":"1","size":"25887969","seconds":393,"k":"8baef59e1075faae24125f6e","k2":"1179dade2b458a0df"},{"no":"2","size":"5435715","seconds":111,"k":"48975615b359c1af261e9f0d","k2":"157aaf89cbecb16a3"}]},"streamsizes":{"flv":"28234305","mp4":"56340202"},"stream_ids":{"flv":"75489279","mp4":"75489212"},"streamlogos":{"flv":1,"mp4":1},"streamtypes":["flv","mp4"],"streamtypes_o":["flvhd","mp4"]}],"user":{"id":"79875178"},"controller":{"search_count":true,"mp4_restrict":1,"stream_mode":1,"video_capture":true,"hd3_enabled":false,"area_code":110000,"dma_code":64495,"continuous":1,"playmode":"normal","circle":false,"tsflag":true,"other_disable":false,"xplayer_disable":false,"app_disable":false,"share_disabled":false,"download_disabled":false,"pc_disabled":false,"pad_disabled":false,"mobile_disabled":false,"tv_disabled":false,"comment_disabled":false}}';
$get_data = json_decode($get_data, 1);
print_r($get_data);
$v_format = "flv";
echo $fileid = $get_data["data"][0]["streamfileids"][$v_format];
echo $seed = $get_data['data'][0]['seed'];
echo $key1 = $get_data['data'][0]['key1'];
echo $key2 = $get_data["data"][0]["segs"][$v_format][0]['k'];
echo $sid = getSid();
echo $p_fileid = getfileid($fileid, $seed);
// echo json_encode([1,"2222"=>111,"1111111111"])	;
//
//
echo $key = getkey($key1, $key2);
echo PHP_EOL, $play_url = "http://f.youku.com/player/getFlvPath/sid/00_00/st/{$v_format}/fileid/{$p_fileid}?K={$key}";
// http://k.youku.com/player/getFlvPath/sid/6444898585859100c3a03_00/st/flv/fileid/03000203004D9F3A39C0F3002BCF4ECC8D6EE1-6A0C-B8F7-4282-2D87BF5B4A19?K=7eecabb1cc2a085a24125f72&ctype=10&ev=1&oip=2043096855&token=4120&ep=YoqzgWJZPIRlkPxw9CiZ%2FHcAL%2Bu%2F14dq7ST7Cc5hDP71%2B7V204E%2B%2BMXvDHYv359ZiIuboIF1fm%2FbHujrvKCzz1rONfQmrVEMrMFUZD3nWbW%2F9dXqRvY9D3cMkDdvUT064qI2FGo2gQY%3D&ymovie=1
// http://f.youku.com/player/getFlvPath/sid/144489843614366      _00      /st/flv/fileid/03000203004D9F3A39C0F3002BCF4ECC8D6EE1-6A0C-B8F7-4282-2D87BF5B4A19?K=e23d2f9c2ec57705161e9f13
// http://k.youku.com/player/getFlvPath/sid/6444898585859100c3a03_01/st/flv/fileid/03000203014D9F3A39C0F3002BCF4ECC8D6EE1-6A0C-B8F7-4282-2D87BF5B4A19?K=b8f348b42b2d222c261e9f13&ctype=10&ev=1&oip=2043096855&token=4120&ep=YoqzgWJZPIRlkPxw9CiZ%2FHcAL%2Bu%2F14dqNK9GQoD3cmH1%2B7V204E%2B%2BMXvDHYv359ZiIuboIF1fm%2FbHujrvKCzz1rONfQmrVEMrMFUZD3nWbW%2F9dXqRvY9D3cMkDdvUT06zZ1LDg5py78%3D&ymovie=1