草庐IT

安全通信存储

全部标签

javascript - 将 'arguments' 传递给 'apply()' 是否安全

假设我有以下代码(完全没用,我知道)functionadd(a,b,c,d){alert(a+b+c+d);}functionproxy(){add.apply(window,arguments);}proxy(1,2,3,4);基本上,我们知道apply需要一个数组作为第二个参数,但我们也知道arguments不是一个正确的数组。代码按预期工作,所以可以肯定地说我可以将任何类似数组的对象作为apply()中的第二个参数传递吗?以下内容也可以使用(至少在Chrome中):functionproxy(){add.apply(window,{0:arguments[0],1:argumen

javascript - 我应该在 Laravel 5 中的什么地方存储 JS?

我可以在两个地方存储javascript:resources/assets/javascripts和public/js。如果我们将文件放在resources/assets/javascripts中,我们应该添加gulp任务来复制它们。这是这种方法的弱点。我们将需要在浏览器调试器中进行路径映射。如果我们将这些文件放在public/js中,我们将把源JS和编译后的JS放在一个地方,它们会变得困惑。那么,我应该在Laravel5中的什么地方存储JS? 最佳答案 “Laravel-5”的答案是将它们放在resources/assets/ja

javascript - 依赖 Content-Type : text/plain to mitigate malicious javascript execution in response? 是否安全

我们有一个返回的web应用程序HTTP/1.1400BadRequest...Content-Type:text/plain;charset=UTF-8Content-Length:57Date:Tue,14Apr201519:24:54GMTConnection:closeInvalidprojectareaitemidalert(1086)据我了解,依靠Content-Type:text/plain;charset=UTF-8作为防御来阻止javascript执行是不够的。相反,应该对输出进行编码,并且应该对输入进行输入验证并丢弃垃圾。我正在寻找的是关于处理具有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创建一个简单的日志文件? 最佳答案 您有几个选择:cookies本地存储数据库检查此链接:HTML5:Client-sideStorage只能在IE中使用ActiveX对象创建文件。 关于javascript-如何使用JavaScript在客户端创建文件进行存储?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

javascript - 使用 filterBy() 应用过滤器时从 ExtJs 存储中清除过滤器的最快方法

我正在使用ExtJS4.1。我正在使用商店的clearFilter()从商店中删除过滤器。我正在使用filterBy方法对商店应用过滤器。我正在过滤名称不是罗纳尔多的所有记录。清除过滤器后,我加载了一个包含网格(附加到商店)的View。但是当我加载网格时,我仍然可以看到过滤器没有被清除。该商店是本地商店。我没有在商店中应用任何分组。商店只使用一种型号。myStore.filterBy(function(record){if(record.get('Name')!='Ronaldo'){returntrue;}});虽然所有这些工作正常,但是当我使用clearFilter()清除过滤器时

javascript - 达到限制时的本地存储、限制和数据过期

我尝试将对象存储在localStorage中,但有时我会用完空间。当我尝试使用localStorage存储对象但没有足够的存储空间时-有没有一种方法可以根据需要简单地删除尽可能多的本地数据以释放该空间,从最古老的元素?浏览器中是否有API可以让我这样做? 最佳答案 这是我刚刚提出的一个小型概念证明。它假定当您尝试存储项目但没有空间时抛出异常。代码有注释varStorage=function(iden){//astoragewrapperobjectvarstorage;//tempstoragewithvariableif(loca

javascript - 在 ES6 Set 中存储数组并按值访问它们

是否有一种简单的方法来验证ES6Set包含的值是特定数组?我想要一个不需要我使用引用的解决方案:varset=newSet();vararray=[1,2];set.add(array);set.has(array);//trueset.add([3,4]);set.has([3,4]);//false到目前为止,我的解决方案是将所有内容存储为字符串,但这很烦人:set.add([3,4].toString());set.has([3,4].toString());//true 最佳答案 不,没有。Set适用于对象和基元,对于防止相