网站安全是每个站长必须需要了解的,一般在用户访问网站的正常使用中用户不会查看网站你的源代码,也就是F12(审查元素),一般用F12的多半是仿模板或查看网站源码的,这极大程度威胁到我们的网站安全,所以我们就可以写段代码,防止被人F12。
常见查看网站源码的无非下面这四种,下面我们整理了多种方法可以实现不同效果:
- F12
- 鼠标右键单击
- Ctrl+Shift+I
- Ctrl+U
样式一:
1.下面是分享的防被人F12的源代码,复制粘贴到你需要的地方,一般为公共尾部文件
<script type="text/javascript">
//判断F12审查元素
function fuckyou() {
window.close(); //关闭当前窗口(防抽)
window.location = "about:blank"; //将当前窗口跳转置空白页
}
function ck() {
console.profile();
console.profileEnd();
//我们判断一下profiles里面有没有东西,如果有,肯定有人按F12了,没错!!
if(console.clear) {
console.clear()
};
if(typeof console.profiles == "object") {
return console.profiles.length > 0;
}
}
function hehe() {
if((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) || (typeof opera == 'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
fuckyou();
}
if(typeof console.profiles == "object" && console.profiles.length > 0) {
fuckyou();
}
}
hehe();
window.onresize = function() {
if((window.outerHeight - window.innerHeight) > 200)
//判断当前窗口内页高度和窗口高度,如果差值大于200,那么呵呵
fuckyou();
}
</script>
注:上述代码可实现被人F12时,网站页面关闭,自动跳转到空白页,也可以将跳转空白页改成跳转到指定页面,代码如下!
2.改成跳转至空白页:
window.location = "about:blank";
3.改成跳转至百度:
window.location = "https://www.baidu.com";
样式二:
使用js 禁止别人 view-source 查看页面源码,并提示内容
<script type="text/javascript">
window.onload = function() {
//屏蔽键盘事件
document.onkeydown = function() {
var e = window.event || arguments[0];
//F12
if (e.keyCode == 123) {
alert('抄袭可耻!!!');
return false;
//Ctrl+Shift+I
} else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) {
alert('抄袭可耻!!!');
return false;
//Shift+F10
} else if ((e.shiftKey) && (e.keyCode == 121)) {
alert('抄袭可耻!!!');
return false;
//Ctrl+U
} else if ((e.ctrlKey) && (e.keyCode == 85)) {
alert('抄袭可耻!!!');
return false;
}
};
//屏蔽鼠标右键
document.oncontextmenu = function() {
alert('抄袭可耻!!!');
return false;
}
}
</script>
注:上面的代码可屏蔽F12、Ctrl+Shift+I、Ctrl+U等功能加强网站安全,对于一般人来说一般都是可以的,但是也不是百分之百安全吗,对于高手来说没啥用!
样式三:
下面的代码可以F12,但是不会显示CSS内容,且会弹窗提示,代码如下:
/**
* Title 禁用F12
* Description www.360mb.net
* Author 360模板吧
*/
((function () {
var callbacks = [],
timeLimit = 50,
open = false;
setInterval(loop, 1);
return {
addListener: function (fn) {
callbacks.push(fn);
},
cancleListenr: function (fn) {
callbacks = callbacks.filter(function (v) {
return v !== fn;
});
}
}
function loop() {
var startTime = new Date();
debugger;
if (new Date() - startTime > timeLimit) {
if (!open) {
callbacks.forEach(function (fn) {
fn.call(null);
});
}
open = true;
window.stop();
alert('360模板吧提示:不要扒我了');
window.location.reload();
} else {
open = false;
}
}
})()).addListener(function () {
window.location.reload();
});
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END