云服务器

HTML 设置页面禁用f12,禁止右击,禁止复制粘贴

   声明:本站部分内容来自互联网,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

13

有时我们会遇到禁止用户复制网站的文字内容,例如小说网站,我们可以通过下列方法提高复制内容的门槛,来实现我们的目标。

1.禁用选中和右键:

在<body>标签中添加以下代码:

οncοntextmenu='return false'    禁止右键
οndragstart='return false'    禁止拖动
onselectstart ='return false'    禁止选中
οnselect='document.selection.empty()'    禁止选中
οncοpy='document.selection.empty()'    禁止复制
onbeforecopy='return false'    禁止复制
οnmοuseup='document.selection.empty()'

<body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' onselect='document.selection.empty()' oncopy='document.selection.empty()' onbeforecopy='return false' onmouseup='document.selection.empty()'>

2.禁止网页另存为:在<body>后面加入以下代码:

<noscript> <iframe src="*.htm"></iframe> </noscript>

这时在电脑端已经无法选择复制,但是在移动端还可以选中复制,再添加以下css代码用来禁止选中文字。

3.禁止选中文字

*{
    moz-user-select: -moz-none;
    -moz-user-select: none;
    -o-user-select:none;
    -khtml-user-select:none;
    -webkit-user-select:none;
    -ms-user-select:none;
    user-select:none;}

这时正常的选择复制都已经被禁用但是还可以用浏览器的查看源码和调试工具来直接从代码中复制内容。

4.禁用F12按键

//禁用F12window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
    // 判断是否按下F12,F12键码为123
    if (event.keyCode == 123) {
    event.preventDefault(); // 阻止默认事件行为
    window.event.returnValue = false;
    }}

5.禁用调试工具

var threshold = 160; // 打开控制台的宽或高阈值// 每秒检查一次var check = setInterval(function() {
    if (window.outerWidth - window.innerWidth > threshold || 
        window.outerHeight - window.innerHeight > threshold) {
        // 如果打开控制台,则刷新页面
        window.location.reload();
    }}, 1000);

6.禁止鼠标右键

 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;
        }
    }

至此,已经限制了大部分的复制功能,但是还不能彻底禁止,更完善的方法还需学习整理。