草庐IT

安全参数

全部标签

javascript - 如何记录具有已知参数类型的可变长度的参数列表?

相关:Correctwaytodocumentopen-endedargumentfunctionsinJSDoc我有一个函数,它通过访问arguments变量接受多个数组:/***@paramoptionsAnobjectcontainingoptions*@param[options.bind]blablabla(optional)*/functionmodify_function(options){for(vari=1;i现在,我知道除了options之外的每个参数都是一个包含值得记录的值的数组:[search_term,replacement,options]我不考虑将(冗长的

javascript - 如何安全地读取 WebScriptObject 的属性?

当WebView实例中的JavaScript与WebViewDelegate之间进行通信时,JavaScript类型和Objective-C类型会来回转换。例如,当从JavaScript调用Objective-C函数时,字符串变成NSString,数字变成NSNumber,对象变成WebScriptObject.其他的处理起来很简单,但是WebScriptObject看起来很奇怪。当传递像{"foo":1,"bar":2}这样的字典时,我看到的大多数代码都是使用valueForKey提取属性,例如在[[argvalueForKey:@"foo"]intValue]==1但是如果您不确定

javascript - D3 排序函数总是传递未定义的参数

使用D32.4.2,我创建了许多路径元素,如下所示:for(vari=0;i它们都按预期绘制到屏幕上。稍后,当用户进行一些输入时,我想将其中一个放在最前面,所以我有一个事件处理程序可以执行此操作:varpathToHighlight=selectPath(pathIndex);varpaths=d3.selectAll("."+PATH_CLASS);paths.sort(function(a,b){if(a===pathToHighlight){return-1;}elseif(b===pathToHighlight){return1;}else{return0;}});在Chrom

javascript - 套用带有无限参数的函数

假设我有以下add函数,它接受无限数量的参数。functionadd(){vartotal=0;varargs=Array.prototype.slice.call(arguments,0);for(vari=0;i和下面的curry函数。functioncurryFunction(orig_func){varap=Array.prototype;varargs=arguments;functionfn(){if(arguments.length!=0){ap.push.apply(fn.args,arguments);returnfn;}else{returnorig_func.ap

javascript - 传递大对象作为参数

一般问题:将大对象作为参数传递与传递native变量时是否会影响性能?案例:我编写了一个管理Googlemap的组件。在组件的每个方法中,它都需要传入GoogleMaps对象,因为我不想将map设置为组件的属性。 最佳答案 当您将对象作为参数传递给函数时-唯一被复制的是该对象的处理程序(即存储对象的内存地址)。对象本身不会被克隆,因此当您将大对象作为参数传递时没有开销。如果你传递一个字符串,它会被克隆,所以在这种情况下,字符串的长度是一个问题。 关于javascript-传递大对象作为参

javascript - 为什么在控制台中交换 == 的参数会改变输出?

如果我打开我的浏览器控制台(在Chrome/Firefox中测试)并输入:null=={}我得到:false但是,如果我将两个参数都传递给==运算符并改为键入:{}==null我得到:UncaughtSyntaxError:Unexpectedtoken==图片:为什么会这样?为什么这只发生在控制台中,而不是当浏览器在HTML页面中执行脚本时?编辑:同时question35812626解决此问题并解释原因,因为JS将{}解析为代码块,它使用三等号(严格比较)运算符===,而不是双重等号==。正如用户在下面指出的那样,代码块后面肯定可以跟==而不会导致语法错误:{}=={}//false

javascript - JavaScript 中的可选参数优先

为了方便用户,我有一个函数,它先接收一个可选参数,然后再接收必需参数。例如:ns.myFunction('optionalarg',function(){//therequiredcallback});我这样做而不是执行以下操作,因为回调主体可能很长,并且用户可能会忘记覆盖可选参数的默认值:ns.myFunction(function(){//therequiredcallback},'optionalarg');目前我这样做是为了检查:functionmyFunction(first,second){//ifsecondisundefinedandfirstisafunctionif

Javascript 安全 : is storing sensitive data in a self invoking function more secure than cookies?

我知道在客户端JavaScript中安全性要么不存在,要么非常困难。我知道我的服务器端代码应该最终决定它向谁提供数据或从谁那里接受数据。也就是说,可以执行以下操作。我所说的“好吧”是指如果这是在某些新流行的时尚炫酷Web应用程序上使用的方法。知道我不会看到“SuperCoolWebAppHacked,更改你的密码!”,我可以在晚上sleep吗?由于此实现,遍布HN和Reddit(或人们关心的任何其他信息来源)。如果不安全。为什么?如何获取该信息(用户名和密码)?它是否安全?你有多确定?为什么它是安全的?除了我现在显然无能为力之外,是什么阻止了我获取这些信息。欢迎部分回答。只是寻求更好的

javascript - 线程安全的数组删除

我知道可以从数组中拼接一个项目,或者用delete删除它。前一种方法可能会导致并发问题,例如如果一个线程正在遍历数组而另一个线程刚刚移动或拼接。如果在数组上使用forEach,则delete不会出现此问题,因为forEach会遍历数组中的空洞。但是,数组不能永远增长并且需要清除,可能会导致与拼接情况下相同的问题。听起来我需要锁定,但如果Javascript有任何功能,我会觉得很有趣。有什么想法吗? 最佳答案 关于您的确切问题:不,您不会遇到并发问题,因为JavaScript不是多线程的。即使您使用网络worker也不会有问题,因为没

javascript - 谷歌图表不安全评估

出于安全目的,我已从我的CSPheader中删除了script-src:'unsafe-eval'。我注意到这现在打破了谷歌图表。图表现在无法呈现并显示错误:InvalidJSONstring:{}有什么想法,或者Google只是吹嘘它并允许在他们的库中进行不安全评估?我在他们的map上遇到了同样的问题,不得不使用不同的图书馆。 最佳答案 GoogleVisualization确实在使用eval()内部CurrentlyGoogleVisualizationAPIisusing:1.evaloncorechart.I.js(3tim