作者: 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;
}
}