草庐IT

安全帽识别

全部标签

javascript - 如何识别 DOM 何时被更改?

是否有一种简单的方法可以知道DOM何时已更改?有没有内置的JavaScript/jQuery事件/函数? 最佳答案 如果您必须检测更改,您可以检查DOM突变事件。DOMeventswikipediapage列出他们所有。但是,您应该知道它们在InternetExplorer中不受支持,并且在支持它们的浏览器中可能会经常触发。一种蛮力方法是使用setTimeout并自行检查更改。但我的经验表明,可以避免对DOM更改通知的需求。您能否详细说明您的具体要求? 关于javascript-如何识别

javascript - AJAX 跨域安全背后的基本原理是什么?

考虑到编写跨域获取数据的服务器端代理的简单性,我不知道阻止客户端AJAX跨域调用的最初意图是什么。我不是在寻求猜测,我是在寻找语言设计者(或与他们关系密切的人)的文档,了解他们认为自己在做什么,而不仅仅是给开发人员带来轻微的不便。TIA 最佳答案 防止浏览器充当反向代理。假设您正在浏览http://www.evil.com从您办公室的PC上,并假设该办公室中存在一个包含敏感信息的内部网http://intranet.company.com只能从本地网络访问。如果跨域策略不存在,www.evil.com可以向http://intran

javascript - Web Workers 是一种安全的方式来沙盒不受信任的 JavaScript 代码吗

我想知道WebWorker是否是对不受信任的JavaScript代码进行沙盒处理的安全方法。例如,在绘图应用程序的上下文中,开发人员可以在其中实现新的绘图工具,您可以将他们的代码放入webworker中,并且每当用户单击Canvas时,向他们发送包含光标位置的JSON消息,以及图像数据数组,当脚本完成时,它会传回一条包含新图像数据的消息。这是否安全,或者是否存在我没​​有想到的风险? 最佳答案 DOM对Webworker不可用,但可以访问同源内容,例如indexedDB。请参阅我的相关问题:Canworkersbesecureeno

javascript - Microsoft Edge 不接受内容安全策略的哈希

问题Content-Security-Policy应该默认将脚本和样式解析列入黑名单,并允许它基于各种指令来验证预期输出的哈希值。浏览器必须无法实现任何未预先提供匹配哈希的Javascript或CSS。具有匹配散列的代码应正常执行。MicrosoftEdge拒绝所有JS/CSS页内block。说明在MicrosoftEdge和任何其他浏览器中访问下面的实时演示链接。现场演示:http://output.jsbin.com/biqidoqebu演示原始源码#loading{color:transparent}#loading:after{color:green;content:"Styl

javascript - 哪些网络浏览器不支持 Javascript?以及如何识别客户端使用的是哪个浏览器?

有没有不支持javascript的网络浏览器?以及如何确定客户端是否正在使用其中一种浏览器?或者客户端禁用了javascript? 最佳答案 arethereanywebbrowsersthatdonotsupportjavascript?当然。Lynx只是一个例子。andhowtoidentifyifclientisusingoneofthosebrowsers?使用标签以提供替代内容。orclienthasdisabledjavascript?与之前的答案相同:使用标签。您不应该测试客户端是否使用X或Y浏览器。始终执行特征检测。

javascript - Webpack sass loader 无法识别全局变量文件

我有这个sass目录:-_vars.scss-main.scss//变量.scss$base-container:1400px;//main.scss@import'./vars';在我的其他js文件中:require('./some-module-sass-file');//some-module-sass-file.scss.container{width:$base-container;}问题是我在vars文件中有全局变量,而some-module-sass-file无法识别它们并抛出错误:undefinedvariable$base-container

javascript - 使用正则表达式验证字符串是否是 URL 安全的

我有一个网站,用户可以在其中选择用户名。目前,他们几乎可以输入任何字符,包括@!#等等我知道我可以使用正则表达式,这可能就是我要选择的。我将使用一个否定集,我假设它是正确的工具:[^@!#]那么,我怎样才能知道要放入那个集合中的所有非法字符呢?我可以开始手动放入那些显而易见的东西,例如!@#$%^&*(),但是有没有一种简单的方法可以做到这一点而无需手动将它们中的每一个都放入?我知道很多网站只允许包含字母、数字、破折号或下划线的字符串。类似的东西对我来说很管用。如有任何帮助,我们将不胜感激。谢谢S.O.! 最佳答案 不使用否定,只将

javascript - 对外部生成的静态内容进行指纹识别(ASP.NET + browserify)

Nodebrowserify在构建模块化js应用程序时非常棒。如果gulp也是设置的一部分,工作流isfurtherenhanced管理和解决依赖关系,适本地捆绑,使用sourcemaps进行uglify,auto-polyfill,jshint,测试...这对于css以及预处理,自动前缀,linting,嵌入非常方便资源和生成文档。TL;DR:通过npm/bower,您可以访问广泛的前端库生态系统,使nodejs非常适合构建(不一定是服务!)客户端代码。事实上,将它用于客户端代码非常棒,npm、bower和grunt/gulp将在VS2015中开箱即用。与此同时,我们设置了一个gul

javascript - 带有净化输入的 eval() 的安全性

这个问题在这里已经有了答案:WhenisJavaScript'seval()notevil?(27个答案)Isusingjavascripteval()safeforsimplecalculationsininputs?(2个答案)关闭8年前。我想使用eval()来解决简单的方程式和逻辑表达式,例如12*(4+3)。当输入(可能不受信任)被清理并且只允许数字时,客户端eval的安全性如何,+-*/()|&!以及“真”和“假”这两个词?可用的方程式JS解析器对我来说太大而且功能太强大。我自己拼凑了一个,但是与评估相比,它的代码行很多,而且还不完美。编辑:是的,我想我特别想问的是,有人可以

javascript - Visual Studio 无法识别 ES6 模板字符串

我在让VisualStudioCode和VisualStudio2013识别模板字符串(ES6)的特殊语法时遇到问题:VisualStudio代码VisualStudio2013我错过了什么? 最佳答案 这现在应该可以工作了,VSCode1.14.0中的基本示例没有问题我怀疑他们参加反引号聚会有点晚了。然而,仍有许多Unresolved问题与bettersupportfortemplategrammars等问题有关。和languagesupportinES6templatestrings所以看起来要包含高级功能还有很多工作要做。