草庐IT

安全模块

全部标签

javascript - 从模块中调用 Node.js 模块函数

我正在尝试编写一个Node模块以清理我的代码并将其分离到不同的文件中。考虑下面的代码:module.exports={Hello:function(request,reply){returnreply("Hello"+World());},World:function(){return"World";}}如果我导入上述模块并使用Hello函数作为特定路由的处理程序,我会收到HTTP500内部服务器错误。如果我将Hello函数更改为,我已将问题缩小到对World()的调用Hello:function(request,reply){returnreply("HelloWorld");}然后

javascript - 如何用 Jest 模拟第三方模块

我的测试目标中有当前导入:importsharpfrom'sharp'并在我的同一个测试目标中使用它:returnsharp(local_read_file).raw().toBuffer().then(outputBuffer=>{在我的测试中,我正在执行以下操作来模拟sharp函数:jest.mock('sharp',()=>{raw:jest.fn()toBuffer:jest.fn()then:jest.fn()})但我得到:return(0,_sharp2.default)(local_read_file).^TypeError:(0,_sharp2.default)isno

javascript - 将小数延迟传递给 setInterval 或 setTimeout 是否安全?

我知道由于浏览器计时器不准确,目前的差异可以忽略不计,但为了了解其他情况:是否有支持setInterval和setTimeout的浏览器,但需要将整数值作为延迟传递给它们?或者,换句话说,是这样的:setInterval(animate,50/3);像这样跨浏览器兼容?setInterval(animate,17); 最佳答案 这是绝对安全的。(正如RobG指出的那样,我没有提供对DOM/JS桥接规则本身的引用,他敦促大家谨慎。FWIW,我相信——但没有提及最终声明——ToInteger是接口(interface)桥的一部分。这是一

javascript - 单元测试 AngularJS 模块 Controller

我正在查看TODOMVCAngularJS示例,我看到该应用程序被定义为一个模块。vartodomvc=angular.module('todomvc',[]);在Controller内部,我看到它们被定义为:todomvc.controller('TodoCtrl',functionTodoCtrl($scope,$location,todoStorage,filterFilter){//...});我的问题涉及单元测试...如何为该类编写单元测试?我试过这样的事情:describe('TodoCtrl',function(){varcontroller;beforeEach(fun

javascript - 如何知道 npm `unzip` 模块何时完成解压缩文件?

我正在使用npm的unzip模块来提取zip存档的内容。我需要知道它何时完成提取以及文件已完全写入磁盘。我的代码:fs.createReadStream('master.zip').pipe(unzip.Extract({path:'gitdownloads/repo'}));我尝试过的:我的第一个想法是我可以接入流并监听完成事件,但是unzip只接受输入:它不会返回另一个流。我还查看了unzip模块是否有“完成”回调。运气不好。 最佳答案 来自githubREADMEExtractemitsthe'close'eventoncet

javascript - Facebook Javascript SDK 安全问题?

我正在尝试将facebook身份验证嵌入到我的应用程序中。我最初的努力是在浏览器中登录并获取代码。我将此代码传回我的api并获取访问token(保留在服务器中)并通过我的服务器将我的所有请求路由到FBApi。对我来说似乎完全安全,因为我的客户没有任何信息能够作为我的应用程序对FB进行授权调用。然而,我一直在研究FBJavascriptSDK,以避免编写用于打开和关闭对话框的代码,并注意到它允许我getLoginStatus并返回访问token给我。此外,我在他们的文档中查看了FB身份验证流程,他们说客户端-服务器混合流程可以在服务器实际将“长期访问token”返回给客户端并建议我使用H

javascript - 如何使用 Javascript ES6 ES2015 模块将常量直接导出/导入到导入模块命名空间?

好吧,我不太能找到这个问题的答案。我正在使用webpack和babeles2015preset来处理ES2015模块。要导出的模块1,文件名“foobar.js”exportconstFOO='foo'exportconstBAR='bar'有没有办法将这个常量导入我的导入模块中的全局命名空间?我想在将使用常量的模块中执行此操作:import'foobar'constdoSomething=()=>{console.log(FOO+BAR)}我知道这行得通:import*asCONSTANTSfrom'foobar'constdoSomething=()=>{console.log(C

javascript - Angular 2 - 延迟加载模块的生命周期 Hook

我正在使用延迟加载的Angular模块开发应用程序。我有一个简单的问题:是否可以在加载模块时捕获事件?例如OnInit。此链接解释了生命周期Hook,但它仅适用于组件:Lifecyclehooksforcomponents我找不到任何说明如何挂接模块的文档。有人知道如何解决这个问题吗?谢谢 最佳答案 延迟加载模块的构造函数应该这样做@NgModule({...})exportclassMyLazyModule{constructor(/*serviceinjectionhereifrequired*/){console.log('l

javascript - 使用正则表达式验证 URL 是否安全?

在我的网络应用程序中,我有一个表单字段,用户可以在其中输入URL。我已经在做一些初步的客户端验证,我想知道我是否可以使用正则表达式来验证输入的字符串是否是有效的URL。那么,两个问题:使用正则表达式这样做安全吗?URL是一个复杂的野兽,就像您不应该使用正则表达式来解析HTML一样,我担心它也可能不适合URL。如果可以完成,什么是适合该任务的正则表达式?(我知道谷歌找到了无数的正则表达式,但我担心它们的质量)。我的目标是防止URL出现在网页中但浏览器无法使用的情况。 最佳答案 嗯……也许吧。人们经常会问一个关于电子邮件地址的类似问题,

JavaScript 模块模式——如何创建子模块

如何根据模块模式访问/创建子模块?我希望能够从我的Modules.js主文件中的子模块访问方法。模块.jsvarModule=(function(){functionA(){console.log("Module:A");B();};functionB(){console.log("Module:B");Module.Utils.C();/*Hereistheproblem*/};return{A:A,B:B}}());$(function(){Module.A();});模块.Utils.jsvarModule=Module?Module:{};Module.Utils=(funct