首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

最近Evil.js被讨论很多,项目介绍如下项目被发布到npm上后,引起了激烈讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式,代码里下毒会被...,比如evil.js中,给JSON.stringify下毒了,把里面的I换成了l ,每周日prmisethen方法有10%概率不触发,只有周日能触发着实有点损了, 并且npm报名就叫lodash-utils...模块node中也可以通过vm模块创建一个沙箱来运行代码,教程可以看这里,不过这对我们代码入侵性太大了,适用于发现bug后调试某段具体代码,并且没法再浏览器里直接const vm = require...(`JSON.stringify({name:'Illl'})`) )复制代码Object.freeze我们还可以项目代码入口处,直接Object.freeze冻住相关函数,确保不会被修改, 所以下面的代码会打印出...,嘎嘎遍历出来,和当前运行时获取JSON,Promise.prototype.then对比就可以啦,而且我们有了备份, 还可以加一个reset参数,直接把污染函数还原回去代码比较粗糙,大家凑合看,函数也就两层嵌套

3K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

视频移步B站最近Evil.js被讨论很多,项目介绍如下图片项目被发布到npm上后,引起了激烈讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式...,比如evil.js中,给JSON.stringify下毒了,把里面的I换成了l ,每周日prmisethen方法有10%概率不触发,只有周日能触发着实有点损了, 并且npm报名就叫lodash-utils...模块node中也可以通过vm模块创建一个沙箱来运行代码,教程可以看这里,不过这对我们代码入侵性太大了,适用于发现bug后调试某段具体代码,并且没法再浏览器里直接const vm = require...(`JSON.stringify({name:'Illl'})`) )Object.freeze我们还可以项目代码入口处,直接Object.freeze冻住相关函数,确保不会被修改, 所以下面的代码会打印出...,嘎嘎遍历出来,和当前运行时获取JSON,Promise.prototype.then对比就可以啦,而且我们有了备份, 还可以加一个reset参数,直接把污染函数还原回去代码比较粗糙,大家凑合看,函数也就两层嵌套

3.6K20

带公式excelpandas读出来都是空值和0怎么办?——补充说明_日期不是日期

之所以另 起一篇,是因为 ①频繁修改需要审核比较麻烦 ②这个问题是数据源头错误,不常碰到,而且可控,楼主这里是因为积攒了大批数据,去改源头之前也改不了,还是要手动,比较麻烦 先说问题,读取excel...时候,日期不是日期格式是数字或常规,显示是四个数字,python读取出来也是数字,写入数据库也是数字而不是日期 附上读取带公式excel正文链接: https://blog.csdn.net.../qq_35866846/article/details/102672342 读取函数rd_exel循环之前先处理日期 sheet1.Cells(2,3).NumberFormatLocal = "yyyy.../mm/dd"#excel VBA语法 #添加到循环之前,2行3列对应C2是数字格式日期 处理这个问题,楼主本人电脑是可以跑通完全没问题,注意打印出来date,看下格式,跟平常见不是太一样!..., 再贴一下定义读取excel函数代码 附上读取带公式excel正文链接: https://blog.csdn.net/qq_35866846/article/details/102672342

1.5K20

看看 Nest.js 怎么

JS 代码在 es6 中加入了 class 支持,TS 又实现了 interface 和 abstract class 语法,现在写面向对象代码容易了很多,所以使用设计模式也就方便了很多。...如果不知道怎么的话,不妨来看下 Nest.js怎么吧: 案例 1 Nest.js 除了支持跑一个单独 http 服务之外,还支持微服务,微服务一般就不是直接处理 http 了,可能是和 Redis...各种不同中间件客户端连接方式不同,而 Nest.js 希望把它们统一管理起来。 怎么统一管理呢?...案例 2 Nest.js 其实本身并不处理 http 协议,处理 http 是依赖更底层 Express 实现,但是它又不想和 Express 强耦合。 怎么办呢?...之后 ExpressAdapter 继承了 AbstractHttpAdapter,基于 Express api 提供了这些方法实现: 这样比起直接 Express api 有什么好处呢?

1.4K40

阿里面试:看你springBoot比较溜来,说说springboot自动装配是怎么回事?

引言 最近有个读者在面试,面试中被问到了这样一个问题“看你项目中用到了springboot,你说下springboot自动配置是怎么实现?”...让你真正实现了开箱即用。SpringBoot帮你节约了大量时间去陪女朋友,不对程序员怎么会有女朋友呢?...所以SpringBoot还是比较善解人衣,错啦错啦是善解人意,知道开发人员痛点在哪。...SpringBoot自动配置加载 既然Springboot尽管这么好用,但是作为一个使用者,我们还是比较好奇它是怎么帮我们实现开箱即用。...spring-boot/docs/2.3.0.RELEASE/reference/htmlsingle/#common-application-properties 这么多属性,这些属性在项目是怎么起作用

72810

让天下没有难学js之this到底是什么,怎么,这里可能给你答案

var _this = this、.call()等方法去实现效果,最后虽然达到了想要效果,但是却并没有明白问题所在,也懒得去仔细研究,那么今天我就来带大家一起看看js中this庐山真面目 「温馨提示...看文字比较枯涩,直接看代码 function foo() { var a = 2 foo.a = 3 console.log(this) console.log(this.a) } var...这三个函数都用来改变this指向,下面我们就简单说一下这三个函数用法和区别 function foo() { console.log('我叫:' + this.name + ',我今年' + this.age...关于new调用函数后是如何执行,《你不知道JavaScript》一书中是这么说 ❝ 使用 new 来调用函数,或者说发生构造函数调用时,会自动执行下面的操作。...以上代码可以看出,箭头函数this指向取决于它所在作用域this,并且箭头函数无法被改变this指向,无论是call还是new。

50230

更新一道js面试题目

题图 From Bing 今天跟大家分享一道面试题目,这个题目是这样:给定5个相同格式日期怎么判断是否是连续5天呢?...:一个数组,数组中有5个数字,如何判断这5个数字是否是连续: let arr = [1,2,3,4,5] 感觉这两道题目的解法是一样,后面这道数字相对比较简单,不用处理时间问题,咱们先来解决后面这道题...假如5个数字是连续,那么第一个数字加4,第二个数字加3,第三个数字加2,第四个数字加1,第五个数字加0,最终得到: let newarr = [5,5,5,5,5]; 然后判断每个数字是否都相等,如果相等那么说明...上面数字题目比较直观,假设数字连续,设置成相同数字,日期则需要利用js日期处理API了,我们可以利用Date对象setDate方法将其设置成相同日期。...js 判断一组日期是否是连续 https://www.52cik.com/2016/07/10/consecutive-dates.html

48730

零售销售数据分析常用日期参数形态

但有时,业务逻辑比较复杂,或者数据源不规范,仅凭点击鼠标无法满足对时间维度分析需求,需要我们点公式。下面介绍在零售业界常用几种日期公式使用形态。...,#duration(1,0,0,0)) 本例中,List.Dates有三个参数,第一个参数为起始日期,第二个参数为显示多少个日期,第三个参数为日期间隔。...当然如果你仅仅需要在Excel工作簿展现当前日期today函数就好。 三、销售数据要截止到上个月月底怎么办? 每个月月初,我们要回顾上个月销售数据,数据截止月底最后一天。...想判断上个月最后一天是几号,我们先判断上个月是哪月: Date,AddMonths倒推上个月 接下来判断最后一天是哪天 Date.EndOfMonth判断当月最后一天 以上,我们即完成了上月最后一天提取...可以借助If语句将以上提到公式嵌套进行实现: 日期相关M语句当然是非常多了,我介绍了几个零售业内常用,业内同仁可以尝试下。

90010

Js处理滚动条和日期

如果你被测系统某一个页面当中,因为太长了出现了滚动条,怎么做呢? 第一次,先不滚动,元素在页面最底部,去执行这样代码,如果它没有报错,那就不用滚动了,直接就好。...按照弹框里面去选,是件很复杂事情,比较难搞定,很有可能通过率非常低就是因为日期原因,所以没必要,而且这种细节,手工测试时候都已经测过了。...如果你想额外验证下这个选项是不是正确时候,单独手工测试下就行。 遇到这种比较复杂,又非常影响通过率,对于这种细节,简单跳过它方式就可以。...js当中通过设置元素value值来实现。 这个地方有value属性,但是没有随着我输入出发日期而变动: ?...如果你想获取输入值,只能通过js中ele.value 遇到上面这种情况并不多。如果正常自动化套路搞不定,就用js去试试。 注意:Js处理,先在Console这个地方调试通过了,再去写代码。

10.8K10

JavaScript笔记(8)

内置函数 JavaScript中对象分三种:自定义对象(var) 内置对象 浏览器对象 前面两种对象是JS基础内容,属于ECMA是script;第三个浏览器对象是JS独有的,我们JS API再学习..., Date, Array,String等 Math对象 就比如Math内置对象,就能直接帮助我们实现很多功能 这是MDN查阅文档 Math对象不是构造函数,它具有数学常数和函数属性和方法...随机数方法random( ) 里面没有参数,会随机产生0-1之间浮点数. 那我们如果想要得到两个数之间随机整数(包括两个数),那应该怎么办呢?...这是老师做法: 刚刚又做了一个只有三次机会猜数字,不知道做怎么样,将就看看吧: 日期对象 Date( ) 日期对象 是一个构造函数,必须使用new,来调用我们日期对象....( ) 2.简单写法: var date = +new Date() 3.H5新增方法: Now() 不知道为什么我这个方法一直报错...

41020

Python获取北向资金持股数据

本篇介绍如何用Python批量获取北向资金持股数据,全文包括4个部分: 一、A股资金流数据 二、北向数据来源 三、爬虫代码逻辑 四、北向数据怎么 全文阅读大约需要10分钟,觉得不错可以点个好看支持一下...request.get获取数据看看 url = 'http://dcfm.eastmoney.com/em_mutisvcexpandinterface/api/js/' response_comment...,第二个key是总页码数,可以根据这个来写虚幻,第三个是字体,没啥用了。...如果想要每天自动去爬数据,可以任务调度计划设置一个自动运行,收盘后跑一遍即可 04 北向数据怎么 以上我们获取到北向个股数据,那么如何来用这个数据呢,我们这里提供两个简单维度,其他更多观测角度可以找一找相关研究报告看看...各个频率下减持最多股票如下 可以看出最近一段时间减持比较股票里医药、食品饮料比较多,而增持基本上是电子、周期板块等等。

1.6K31

19届前端实习生面经

经过三个从拉钩实习僧各种投简历基本无果到现在拿到了心仪一家主管给口头offer,发一波面经回馈一下。 先说下这几个月结果。...51信用卡初试完今天收到了感谢信,今天面的现场面连续三个班小时虐杀,出来之后主管说过了。 为了避免出现某逼乎用户被暴雪录取后又辞退故事发生在我身上,就不写具体录取公司了。...2.做项目 3.日期选择器实现了哪些功能 4.日期选择器布局实现 5.float和position区别 6.position有哪些 7.positionabsolute和relative区别 8...16.http请求头、响应头里面有哪些 17.异步加载js 18.js原型 19.看哪些技术网站 20.知不知道框架,干什么有什么好处 21.觉得自己不足 22.以后规划 4.15京东复试     ...URL长度限制     9.缓存     10.什么时候local什么时候session storage     11.长连接     12.有没有用过抓包     13.有没有用过代理     14

56300

一个由JS时间引发

于是又花了几天时间,Node.JS写了一个网站,部署在内网上。 其实这不是今天想写内容,这是背景。是不是很长。其实主要是记录一下自己最近在干什么。 今天想写是下面这个。...因为今天数据还在运行中,而昨天数据是完整,而且是最新比较有利于结果。 因为使用是Node.JS,所以基本使用JavaScript语法。 怎么才能得道昨天日期呢。...还有,如果得到是小于10数,比如3,还得把它转换成03。这样才能拼凑起我想要格式。 考虑了这么多,你以为我要写了么!!!怎么可能!!!让我做这么多事!!!我就想得到昨天日期而已!!!...Second Try 于是觉得这样做不太靠谱,有了第二个想法,要不用一下开源库算了,网上找了找,还真不少,Moment.js,Datejs 等等还真多,后来想想还是算了,这么简单功能,再去别人库实在是大材小用...看了看JS关于日期方法,显然并没有类似于得到昨天日期这种方法。后来发现有一种得到当前时间戳方法getTime(),能返回1970年1月1日至今毫秒数。

2.2K50

什么是“页面业务流程”分析思维导图?如何编写页面假JSON数据? &下一个前端组件“日历”

第一,业务型,电商网站、 第二,强交互型,知呼、QQ空间、音乐播放器 第三,展示型,随着鼠标滚动或页面拖动,菜单或页面有不同显示切换 常会有同学说不知道如何 下手写JS,不知道从哪开始写,不知道操作什么...那么这个业务流程分析思维导图,具体怎么画呢?...然后它主导航条每个下来还有子下拉菜单,这个必然也是JSON生成, 然后是大通栏BANNER广告,它数量有多少?也取决于后台传来JSON。 这就是三个地方需要JSON了。...用来验证页面的业务逻辑能否走通。 一个点是这样,十个节点也是这样;然后到分支节点了,你看它分支条件是什么?什么来判断分支比较好?...你就可以跟他们一边画一边说,这个我得需要XX时间啊,那个我得需要xx时间啊,然后这些时间加在一起,我还得有个余量,还得测试调整,这个东西我至少需要二个月以上!!

1.4K51

有必要使用服务器端渲染(SSR)吗?

所以切换页面的时候就会刷新,重新请求 css 和 js 文件,用户体验比较差。...页面功能都是比较简单,所以为了赶上重构时间线,当时旁边小伙伴 Express + EJS 实现了一版,只支持 ES5 语法。 后续需求经历几次变更,想在原来页面上加功能都比较麻烦。...但在 Nuxt 里面,这个展示日期就是你服务启动那天日期,不管你怎么刷新,它永远不会变化。...因为 Nuxt 初始化时候会把这些数据存到 store 里面,后续再怎么刷新,这个文件也不会在服务端重新加载,因为模块会被 Node 缓存起来,所以日期就不会更新。...但在客户端渲染里面,由于页面刷新会导致浏览器端重新加载 JS 文件,这个日期也会重新计算。

9.4K30
领券