作者: 1chigua

  • bilibili 视频转码

    // i.php?url=https://www.bilibili.com/video/BV12G411y72Z/?spm_id_from=888.80997.embed_other.whitelist&t=7;
    $arr = parse_url($_GET['url']);
    if($arr['path'] == '/player.html') {
        $src = "//player.bilibili.com/player.html?aid=" . str_replace('aid=', '', $arr['query']);
    } elseif(stripos($arr['path'], '/video/bv') !== false) {
        $src = "//player.bilibili.com/player.html?bvid=" . str_replace(array('/video/', '/'), '', $arr['path']);
    } else {
        $src = "//player.bilibili.com/player.html?aid=" . str_replace(array('/video/av', '/'), '', $arr['path']);
    }
    $d[] = $arr;
    $d[]=$src;
    echo json_encode($d);
  • php递归数据转二维数组

    //把递归的数组转二维数组
     function arrDepth($data, $children)
    {
        // 获取key列表
        $keyLists = array_keys($data);
        // 获取数组长度
        $count = count($keyLists);
        foreach ($data as $key => $value) {
            if (!is_array($value)) {
                return $data;
            }
            if (key_exists($children, $value)) {
                // 查找当前key在key列表中的key
                $index = array_search($key, $keyLists);
                $index++;
                // 插入子数组
                // 判断插入位置是否存在
                if ($index >= $count) {
                    // 如果不存在
                    $data = array_merge($data, $value[$children]);
                } else {
                    // 如果存在
                    $doing = array_splice($data, $keyLists[$index], 0, $value[$children]);
                }
                // 删除之前的子数组
                unset($data[$key][$children]);
                // 重新调用该方法
                $data = arrDepth($data, $children);
                // 返回操作结果
                // 如果不重新循环会出现key值错误的问题
                return $data;
            }
        }
        return $data;
    }
    
  • JS禁用F12审查元素,屏蔽右键菜单,复制,粘贴,剪切

    审查元素的情况下,大家都可以随机更改一部分页面的代码,
    注入恶意JS等等,这种情况避免也不难,虽然还能看到一部分H5源码,但是无法修改
    一、屏蔽F12 审查元素

    document.onkeydown = function(){

    if(window.event && window.event.keyCode == 123) {
        alert("F12被禁用");
        event.keyCode=0;
        event.returnValue=false;
    }
    if(window.event && window.event.keyCode == 13) {
        window.event.keyCode = 505;
    }
    if(window.event && window.event.keyCode == 8) {
        alert(str+"\n请使用Del键进行字符的删除操作!");
        window.event.returnValue=false;
    }

    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    除了屏蔽这个,我们还有其他有趣的设置:

    二、屏蔽右键菜单

    document.oncontextmenu = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if (!((the.tagName == “INPUT” && the.type.toLowerCase() == “text”) || the.tagName == “TEXTAREA”)){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    三、屏蔽粘贴

    document.onpaste = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if (!((the.tagName == “INPUT” && the.type.toLowerCase() == “text”) || the.tagName == “TEXTAREA”)){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    四、屏蔽复制

    document.oncopy = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if(!((the.tagName == “INPUT” && the.type.toLowerCase() == “text”) || the.tagName == “TEXTAREA”)){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    五、屏蔽剪切

    document.oncut = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if(!((the.tagName == “INPUT” && the.type.toLowerCase() == “text”) || the.tagName == “TEXTAREA”)){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    这种很适合小说网站,毕竟版权珍贵,被别人随意copy走内容就不好了

    六、屏蔽选中

    document.onselectstart = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if (!((the.tagName == “INPUT” && the.type.toLowerCase() == “text”) || the.tagName == “TEXTAREA”)){
    return false;
    }
    return true;
    } catch (e) {
    return false;
    }
    }