首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    怎么防止同事用Evil.js代码投毒

    最近Evil.js被讨论的很多,项目介绍如下项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式,代码里下毒会被...,比如evil.js中,给JSON.stringify下毒了,把里面的I换成了l ,每周日prmise的then方法有10%的概率不触发,只有周日能触发着实有点损了, 并且npm的报名就叫lodash-utils...ShadowRealm APITC39有一个新的ShadowRealm api,已经stage3了,可以手动创建一个隔离的js运行环境,被认为是下一代微前端的利器,不过现在兼容性还不太好,代码看起来有一丢丢像...,直接用Object.freeze冻住相关函数,确保不会被修改, 所以下面的代码会打印出{"name":"Illl"},但是有些框架会对原型链进行适当的修改(比如Vue2里对数组的处理),而且我们在修改.../anti-evil.js"><script src=".

    3.1K20

    怎么防止同事用Evil.js代码投毒

    视频移步B站最近Evil.js被讨论的很多,项目介绍如下图片项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式...,比如evil.js中,给JSON.stringify下毒了,把里面的I换成了l ,每周日prmise的then方法有10%的概率不触发,只有周日能触发着实有点损了, 并且npm的报名就叫lodash-utils...:'Illl'})`,sandbox)console.log(sandbox)ShadowRealm APITC39有一个新的ShadowRealm api,已经stage3了,可以手动创建一个隔离的js...,直接用Object.freeze冻住相关函数,确保不会被修改, 所以下面的代码会打印出{"name":"Illl"},但是有些框架会对原型链进行适当的修改(比如Vue2里对数组的处理),而且我们在修改.../anti-evil.js"><script src=".

    3.7K20

    Android webview注入JS代码 修改网页内容操作

    补充知识:android——webview修改html界面,达到去除或隐藏部分界面的效果 如下所示: ? 去除NBA及CAB频道。 为了达到这个效果,当时考虑了两种方式。...第一种是在webview加载前,先讲html代码拉下来,修改后,在通过webview去加载。 第二种就是查看源代码,直接动手修改代码,然后把源代码放在assets文件下,每次直接从本地加载。...在查看完源代码(在电脑浏览器,打开网页,右键单击,查看源代码)后发现,这个网页,太适合第二种方式了。频道是写死的。可以直接改。而其他的界面都是通过js动态生成的。...加载assets下的html代码方式为: webview.loadUrl(“file:///android_asset/test.html”); 以上这篇Android webview注入JS代码...修改网页内容操作就是小编分享给大家的全部内容了,希望能给大家一个参考。

    8K21

    JS防止站点被恶意保存

    很多同学网站都在用静态博客,安全轻量的同时也带来了些许麻烦,正如首图中那样,站点被别人全盘撸走,反而比自己文章关键字还高.自己辛辛苦苦的耕耘变成了别人的果实…所以本文提供一下通过JS手段防止网站被扒皮的手段...进入正题: 因为站点是纯静态的,所以没办法防止网页被扒走,但是我们可以让他扒走的网页 用不了… 对静态资源设置防盗链,判断可信域名…不过很多同学都放在 coding/github 之类的 没有这种功能的托管商...,这条思路并不可取… (亦或者静态资源也被别人扒走了) 就是使用JS啦, 例如 如下代码: //这里的放到最开头 一加载页面就运行这个....= top){ location.href="https://huai.pub"; } //防止被嵌套....把上面部分放到一个不得不运行且打开页面就运行的JS里面(不建议放到公共资源部分,比如 jQuery之类的 )…当然 需要按照注释修改为自己的参数; 之后将这条JS 加密 然后将第二部分放到页面底部的JS

    3.9K20

    linux防止文件和目录被意外删除或修改

    为了防止在 Linux 系统中意外删除一些重要文件或目录,除了必要的备份之外,还有一个好方法,就是使用 chattr(Change Attribute)命令 在类 Unix 等发行版中,该命令能够有效防止文件和目录被意外的删除或修改...file 文件在 Linux 中被描述为一个数据结构,chattr 命令在大多数现代 Linux 操作系统中是可用的,可以修改file属性,一旦定义文件的隐藏属性,那么该文件的拥有者和 root 用户也无权操作该文件...------------- rumenz.txt > chattr +i rumenz.txt > lsattr rumenz.txt ----i----------- rumenz.txt 尝试修改文件..." > rumenz/1.txt -bash: rumenz/1.txt: Permission denied 删除特殊i权限 > chattr -i -R rumenz 设置文件只能添加数据,不能修改...设置rumenz目录下只能添加目录,文件,但是不能对里面的文件夹,文件修改,移动,删除。

    1.9K00

    js节流函数和js防止重复提交的N种方法

    应用情景 经典使用情景:js的一些事件,比如:onresize、scroll、mousemove、mousehover等; 还比如:手抖、手误、服务器没有响应之前的重复点击; 这些都是没有意义的,重复的无效的操作...同样节流函数也是为了解决函数重复提交的问题,而防止重复提交的方法,不止节流函数一种实现。 方法汇总 本文整理了我在工作实践当中,觉的防止js重复提交,比较好用的方法,在这里和大家分享一下。...一、setTimeout + clearTimeout(节流函数)   本文提供两种实现方式:普通节流函数和闭包节流函数 二、设定flag/js加锁 三、通过disable 四、添加浮层比如loading...false; } jQuery.post(url, data, function (response) { //TODO:业务代码 lock = false...; }); }); 总结 前两种方式实现起来比较方便,而后两种实现起来相对比较繁琐,如果是为了防止事件的多次触发,建议使用闭包,如果是表单提交,适度使用后两种比较稳妥。

    8.6K40

    【怎样防止代码被抄袭】浅谈前端代码加密

    而在这个专业领域中,作为开发者我们众所周知的是,所有来自前端的数据都是“不可信”的,由于构成前端业务逻辑和交互界面的所有相关代码都是可以被用户直接查看到的,因此我们无法保证我们所确信的某个从前端传递到后端的数据没有被用户曾经修改过...那么是否有办法可以将前端领域中那些与业务有关的代码(比如数据处理逻辑、验证逻辑等。通常是 JavaScript 代码)进行加密以防止用户进行恶意修改呢?本文我们将讨论这方面的内容。...代码混淆 在现代前端开发过程中,我们最常用的一种可以“降低源代码可读性”的方法就是使用“代码混淆”。...比如在 Node.js 脚本中进行源码处理时,我们通常会首先使用 UglifyJS.parse 方法将一段 JavaScript 代码转换成其对应的 AST 形式,然后再通过 UglifyJS.Compressor...const UglifyJS = require('uglify-js'); var symbolTable = {}; var binaryOperations = { "+": (x, y)

    4.2K20
    领券