破解网站禁止复制页面内容和图片(为什么无法通过ctrl+v进行粘贴行为进行了禁止?)
优采云 发布时间: 2022-01-30 15:25破解网站禁止复制页面内容和图片(为什么无法通过ctrl+v进行粘贴行为进行了禁止?)
目录3.当然部分部分也可以使用下面的方案
一转眼,就快半年了。
当我早上醒来睁开眼睛时,啊,考试周又来了。每个科目的期中作业都会在各自的平台上发布。各种乱七八糟的话题很烦人。
以智慧树为例,补一下之前掉的章节问答题。一点进去,发现标题不能复制,emmm,这是一所大学,师生之间难道连这种基本的信任都没有吗?
但是,作为一个准程序员,这个问题并没有困扰我。编程的本质是处理信息,编程的意义在于提高效率,编程的乐趣在于解决问题。既然今天遇到这个问题,那就解决这个bug。
为什么我不能粘贴?
首先我们要了解ctrl+c复制的内容。为什么ctrl+v不能粘贴?通过前端知识的学习,知道网页上的消息弹出框和鼠标行为都是由javascript控制的。那么,禁止在网页上粘贴实际上就是网页禁止鼠标右键的粘贴行为。
查阅资料后,发现确实如此。以下是在 JavaScript 中启用或禁用网页特定功能的语句。很明显,在智慧树这样的平台的Js文件中,粘贴功能被误处理了。如果你在开发网站的过程中也想在你的网页中加入这种恶心的功能,你可以直接在你的Js代码中输入如下代码。
script type=text/javascript
// 禁止右键菜单
document.oncontextmenu = function(){ return false; };
// 禁止文字选择
document.onselectstart = function(){ return false; };
// 禁止复制
document.oncopy = function(){ return false; };
// 禁止剪切
document.oncut = function(){ return false; };
// 禁止粘贴
document.onpaste = function(){ return false; };
/script
从技术上看,直接在前端页面上找到
document.onpaste = function(){ return false; };
语句,并将其返回值更改为 true。不过更多的网页实现了鼠标的动态Js事件。这个想法先通过了,禁用粘贴的语句只能通过禁用JavaScript来跳过。
从技术上看,直接在前端页面上找到
document.onpaste = function(){ return false; };
语句,并将其返回值更改为 true。不过更多的网页实现了鼠标的动态Js事件。这个想法先通过了,禁用粘贴的语句只能通过禁用JavaScript来跳过。
1.了解问题和错误
既然知道原因是因为 JavaScript 限制了粘贴功能,那么解决这个 bug 的思路就很清晰了。只要浏览器禁用JavaScript,问题就解决了。
这个问题真的像禁用 JavaScript 一样简单吗?事实上,这是真的。禁用 JavaScript 相当于关闭前端验证。编程界有句俗话:前端验证防君子,后端验证防小人。即前端验证的安全性为0,而后端验证的安全性坚不可摧。
幸运的是,禁用粘贴功能是由 JavaScript 控制的,并且只涉及前端内容。下面通过禁用 JavaScript 解决了这个问题。
2.解决方法(一) 2.1 首先在要粘贴的页面按F12打开控制台
2.2然后,在控制台页面按**F1**键打开控制台设置
在控制台设置页面的调试器中找到并选中禁用 JavaScript 复选框。
2.3 至此,JavaScript功能已被禁用,页面的粘贴功能已恢复。
让我们现在开始章节测试
上述方案其实适用于一些无法复制网站上的内容的情况。例如,在某个图书馆,您需要为文本复制付费。通过禁用 JavaScript,您还可以复制大文本。通过解决这个学习小问题,我们可以看到,其实无论是前端还是后端,其实都很有趣!
不信你试试?
3.当然,对于某些部分也可以采用以下解决方案
图片是不能复制的例子
原因是师姐要找我帮忙,所以作为好朋友,当然要尽力而为。
3.1 首先在要粘贴的页面上按F12键打开控制台
然后在控制台输入$=0
3.2复制成功
既然我这么好,你为什么不给我点个赞呢?