草庐IT

Python对象封装安全

全部标签

javascript - 在 javascript 中,访问 'window.Math' 比访问没有 'Math' 的 'window.' 对象慢还是快?

我很好奇在javascript中引用“全局”命名空间时的最佳实践是什么,它只是window对象的快捷方式(反之亦然,具体取决于您的外观在它)。我想知道是否:varanswer=Math.floor(value);优于或低于:varanswer=window.Math.floor(value);在性能、资源使用或兼容性方面是更好还是更差?是否有更高的成本?(比如额外的指针之类的东西)编辑说明:虽然在大多数情况下我是一个可读性高于性能的纳粹分子,但在这种情况下,我忽略了可读性的差异,只关注性能。 最佳答案 首先,切勿出于性能原因比较此类

javascript - 如何在javascript中获取给定类型的所有对象

我想检索使用“new”关键字创建的给定类型的所有对象(不是DOM元素)。这可能吗?functionfoo(name){this.name=name;}varobj=newfoo();如何检索对所有foo对象的引用? 最佳答案 没有内置的方法来做到这一点,但是,您可以轻松地让您的foo构造函数存储一个已创建对象的数组。functionfoo(name){this.name=name;foo.objects.push(this);}foo.objects=[];foo.prototype.remove=function(){for(va

javascript - 将多个参数与事件对象一起传递给事件处理程序

如何在不使用Function.prototype.bind的情况下将多个参数与事件对象一起传递给事件处理程序?事件处理程序中有一个闭包。下面的基本代码将不起作用,element.addEventListener("click",eventHandler(eventObj+arguments),false);functioneventHandler(eventObj+arguments){returnfunction(){};//aclosure}我不知道如何将事件对象和其他参数同时传递给事件处理程序。更新:我什至尝试过在addEventListener中使用匿名函数。这样做,似乎控件从

javascript - 由于安全策略,无法使用 Raphael JS 在 Chrome 扩展弹出窗口中绘制路径?

如果我尝试使用Raphael在我的Chrome扩展程序的default_popup页面中绘制路径:r.path("M0,0L10,10");我收到以下错误:UncaughtEvalError:RefusedtoevaluateastringasJavaScriptbecause'unsafe-eval'isnotanallowedsourceofscriptinthefollowingContentSecurityPolicydirective:"script-src'self'chrome-extension-resource:".我理解需要禁止eval()和类似的东西,但为什么这是

javascript - 迭代javascript中的对象集合并从该函数返回true

我有一个名为集合的对象,我想测试看看贾斯汀是否是这个集合的一部分。collection={0:{screen_name:"justin"},1:{screen_name:"barry"}}我正在尝试发现最有效的方法,将名称传递给名为present_user(user)的函数,以查看用户是否是集合的一部分,我有点难倒。所以我的收藏是由对象0、1、n+1组成的。我正在尝试遍历这个集合。到目前为止我只测试[0]functionpresent_user(user){collection[0]["screen_name"]==user->returntrueinthecaseof"justin"

javascript - 将第一个对象推到 javascript 数组中的最后一个,保持所有其他值不变

我有以下JavaScript数组:vardays=[{"day":"sunday","morning":"geschlossen",},{"day":"monday","morning":"geschlossen",},{"day":"tuesday","morning":"geschlossen",},{"day":"wenesday","morning":"geschlossen",},{"day":"thursday","morning":"16:30-19:00Uhr",},{"day":"friday","morning":"09:00-18:00Uhr",},{"day":

javascript - redux Actions 必须是普通对象,但我定义了普通对象

我使用redux+react来搭建我的网站,我想用redux来控制一个侧边栏是否可见。侧边栏是由semantic-ui-react定义的。因为我想跨另一个组件来控制,所以我在sidebar的父组件const{visible,dispatch}=this.props中定义了props,有一个onClick函数来处理这个。我会展示我的代码。UncaughtError:Actionsmustbeplainobjects.Usecustommiddlewareforasyncactions.这个错误把我弄糊涂了一个下午,我也不知道为什么!这是我的操作代码:**action**exportcon

javascript - 检查任何对象的 'undefined' 或 'null'

我正在从事Angular项目,我经常检查对象或其属性的undefined或null。通常我使用lodash_.isUndefined()看下面的例子:this.selectedItem.filter(i=>{if(_.isUndefined(i.id)){this.selectedItem.pop();}})我看不出有什么问题。但是我在审查上述代码时与我的同事进行了讨论。他告诉我,如果i在if语句之前得到undefined那么它将抛出异常。相反,他建议我总是像这样检查i或i.id:if(!!i&&!!i.id){this.selectedItem.pop();}我确信他想表达的意思与他

javascript - javascripts 访问密码字段值是否被视为安全风险?

如果安全正确地存储密码是一种良好的风格和安全性,那么要求用户输入密码的网页不应该也是如此吗?考虑这个例子functioncopy(){vartext=document.getElementsById('text');varpass=document.getElementsById('pass');text.value=pass.value;}copy在密码框中输入一些内容,然后单击复制按钮,瞧,它就暴露在世人面前了。但是,如果您从密码框中复制和粘贴,那么您将得到无用的数据。考虑一下您的登录页面上包含的不受您控制的javascript片段的数量(分析、页面流跟踪器、云中的托管脚本)。对于

javascript - 在 JSON 和安全性中注入(inject) javascript

我有一个在线服务,用户可以在其中创建json支持的文档。然后将这些存储在服务器上,其他用户可以加载它们。然后json被完全按照提交的方式解码。如果用户在提交之前篡改json并注入(inject)任意javascript,然后在查看者的浏览器上执行,是否存在任何安全风险?这可能吗?这就是我需要知道的,如果这是可能的,或者从json字符串任意执行javascript是可能的。 最佳答案 这完全取决于a)您是否在服务器端删除JSON,以及(甚至更多)b)当您再次加载它时如何在客户端解码JSON。任何使用eval()将JSON反序列化为Ja