草庐IT

全局安全配置

全部标签

javascript - 将 OAuth token 传递给 JavaScript 客户端的安全方式

我目前正在设计一个以RESTAPI为中心的多平台应用程序(客户端将包括内部开发的移动应用程序,以及一个AJAX重型javascript客户端)。由于将来API可能会向第三方开放,因此我正在考虑使用OAuth2.0对API进行身份验证和授权。我正试图解决这种安排的一些安全问题,尤其是与javascript客户端有关的问题。我不希望这个客户端表现得像第三方客户端那样,有一大堆重定向和弹出窗口之类的东西,这是大多数OAuth文档似乎关注的重点。由于它将从我自己的域交付,我认为webapp的服务器端可以是实际的客户端,并存储客户端secret和刷新token,而javascript在需要时从服

javascript - 如何配置 grunt-contrib-uglify 以在保留目录结构的同时缩小文件

如果我在下面发布的示例Gruntfile中的“js”目录下有多个子目录,并且想将子目录保留在不同的目标目录下,我该怎么做?例如module.exports=function(grunt){grunt.initConfig({//definesourcefilesandtheirdestinationsuglify:{files:{src:'js/**/*.js',//sourcefilesmaskdest:'minJs/',//destinationfolderexpand:true,//allowdynamicbuildingflatten:true,//removeallunnec

javascript - Node.js 全局评估,抛出 ReferenceError

我正在尝试从Rhino书中学习JavaScript。我试图执行书中关于eval()的以下代码。我正在使用node.js(v0.10.29)来执行示例。vargeval=eval;//aliasingevaltogevalvarx='global';//twoglobalvariablesvary='global';functionf(){varx='local';//definealocalvariableeval('x+="changed";');//directevalsetsthelocalvariablereturnx;}functiong(){vary='local';//d

javascript - browserify-shim 在 var 范围内时不导出隐式全局变量

根据browserify-shim文档,您可以通过在package.json中使用以下语法来指定browserify-shim需要从遗留模块公开哪些全局变量:{"browserify-shim":{"legacyModule":"myVar"}}我希望可以通过require('legacyModule')和window.myVar访问遗留模块。根据我的经验,如果我尝试填充的非commonjs模块使用window.myVar=x或仅使用myVar=x,则该模块会全局公开并且可按预期通过require()获得。但是,当遗留模块使用varmyVar=x时,这就是导致问题的原因,因为该模块只能

javascript - window.onload 没有全局变量

我正在尝试使用没有全局变量的windows.load。HTML代码:TestName:JavaScript全局变量代码:/*jslintbrowser:true*/varmyButton;window.onload=function(){"usestrict";myButton=document.getElementById("b1");myButton.addEventListener("click",alertMM);};functionalertMM(){"usestrict";window.console.log(myButton.value);}最后是没有全局变量代码的NOT

javascript - 默认情况下,Vue 是否为 XSS 提供安全性或防止 XSS?

我在想办法保护自己,Angular视觉react对抗XSS攻击。当我访问Angular官方文档时,https://angular.io/guide/security,它说:TosystematicallyblockXSSbugs,Angulartreatsallvaluesasuntrustedbydefault.WhenavalueisinsertedintotheDOMfromatemplate,viaproperty,attribute,style,classbinding,orinterpolation,Angularsanitizesandescapesuntrustedva

javascript - 在 Javascript 中使用 addEventHandler 的安全、通用的方法?

在我进入这个问题的细节之前,我想把情况弄清楚。我们的网络分析公司作为大型网站的顾问,并且(除了添加单个SCRIPT标记外)我们无法控制页面本身。我们现有的脚本使用“旧”方式(element.onclick=blah的奇特版本;它也执行原始处理程序)安装处理程序,这完全不知道页面上的"new"(addEventListener或attachEvent)处理程序。我们想解决此问题,使我们的脚本能够在更多站点上运行,而无需进行太多自定义开发。这里最初的想法是让我们自己的脚本使用addEventListener/attachEvent,但这带来了一个问题:客户端的站点使用“旧”方式设置处理程序

javascript - Firefox 扩展如何最好地避免污染全局命名空间?

在为Firefox开发扩展时,我一直在研究全局命名空间污染,我想在我的扩展中尽可能避免它。有几种解决方案,但一般来说,这些解决方案似乎只为您的扩展声明一个全局变量,并将所有内容放入其中。因此,您只需向全局命名空间添加一个额外的变量,这还算不错。顺便说一句,有人向我提出了一个解决方案,可以避免将任何额外变量放入全局命名空间;将所有内容包装在一个函数中。这里的问题是在您的XUL覆盖层中没有任何东西可以引用。您必须在叠加层中声明元素,然后在JS中添加大量的addEventListener来替换像oncommand="..."这样的东西在XUL中。我不想这样做;我绝对希望我的XUL在XUL本身

javascript - 如何检索阴影全局变量的值?

例子:vartest='globalvalue';(function(){vartest='localvalue';//howtogetthe'globalvalue'string})();鉴于主机环境未知的情况,这意味着我们不能假设可以通过window名称访问全局对象。此外,该函数不允许接收任何参数! 最佳答案 修复vartest='globalvalue';(function(){vartest2='localvalue';console.log(test);})();真正的解决方案是修复你的代码,这样你就不会隐藏你关心的全局变

javascript - 推荐的 jslint 配置?

JSlint允许在脚本开头的注释block中设置选项,其中一些选项可以帮助减少使用时的烦人。我希望提高生产力。我选择了这些作为开始:/*jslintdevel:true,browser:true,unparam:true,debug:false,es5:true,white:true,maxerr:50,indent:4*/已建立的默认值是什么?[我真的想让它不主观,但是,是的,我想知道什么对你有用] 最佳答案 基本上这对我有用,禁用了所有烦人的东西。/*jslintwhite:true,browser:true,devel:tru