jjzjj

secure_eval

全部标签

javascript - 如何在JavaScript中不写 "eval"就执行 "eval"

这是交易,我们有一个很大的JS库需要压缩,但是YUIcompressor如果发现“eval”语句,它不会完全压缩代码,因为担心它会破坏其他东西。这很好,但是我们确切地知道什么正在被评估,所以我们不希望它变得保守,因为在MooToolsJSON.decode中有一个eval语句所以基本上问题是,是否有任何其他(可能是创造性的)方法来编写返回eval函数的表达式?我尝试了一些,但没有骰子:window['eval'](stuff);window['e'+'val'](stuff);//stuffrunsintheglobalscope,weneedlocalscopethis['eval'

javascript - 为什么 eval 不能访问 with 语句下的作用域变量?

为什么您不能在with语句下使用eval访问作用域变量?例如:(function(obj){with(obj){console.log(a);//printsoutobj.aeval("console.log(a)");//ReferenceError:aisnotdefined}})({a:"hello"})编辑:正如知识渊博的CMS所指出的,这似乎是一个浏览器错误(使用WebKit控制台的浏览器)。如果有人想知道我试图想出什么可憎的东西需要“邪恶的”eval和with--我想看看我是否可以让一个函数(用作回调)在另一个上下文中执行,而不是在它定义的上下文中执行。不,我可能(咳嗽)不

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

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

带有参数的函数的 Javascript eval()

我该怎么做?functionmyUIEvent(){variCheckFcn="isInFavorites";varitemSrc=ui.item.find("img").attr("src");if(eval(iCheckFcn(itemSrc))){alert("it'safavorite");}functionisInFavorites(url){returntrue;}//returnsboolean 最佳答案 首先不要使用eval()。functionmyUIEvent(){variCheckFcn=isInFavorit

javascript - 为什么此代码有效 : "(1,eval)(' this')"

为什么下一个代码是有效的Javascript代码?varglobal=(1,eval)('this');alert(global); 最佳答案 那是因为commaoperator返回它的第二个操作数(并计算两者)。您问题中的代码相当于:1;varglobal=eval('this');alert(global); 关于javascript-为什么此代码有效:"(1,eval)('this')",我们在StackOverflow上找到一个类似的问题: https

javascript - Node.js 和 Socket.io : Self-signed certificates for a secure websocket connection

我一直在网上寻找直接的答案,但大多数解决方案都涉及使用Express和提供HTTP内容以实现安全连接。我对Node.js和socket.io的安全网络套接字连接(wss)更感兴趣我不使用Node.js进行HTTP请求。我使用与Node.js配合使用的socket.io模块将消息实时传递到我的应用程序。我只将Node用于网络套接字连接。我将简要说明我的设置是什么。我使用Django作为我的HTTP后端。用户向Django发出请求,Django将该请求的内容转发给Redis,Node.js监听Redis的一个channel,它处理内容并将消息发送给适当的接收者。非常简单直接。一切正常。但我

javascript - 如何在不使用 eval 或构造函数的情况下用 JavaScript 编写算术表达式解析器?

给定一个字符串:varstr1="25*5+5*7";如果不使用eval或JavaScript中的构造函数,我将如何编写一个名为“output”的函数来接收字符串并输出字符串的算术值,在这个案例是160? 最佳答案 这是递归解析后的完整优先表达式求值器我在对OP问题的评论中链接到的想法。为此,我首先为要处理的表达式编写了一个简单的BNF语法:sum=product|sum"+"product|sum"-"product;product=term|product"*"term|product"/"term;term="-"term|"

Javascript eval - 混淆?

我遇到了一些评估代码:eval('[+!+[]+!+[]+!+[]+!+[]+!+[]]');此代码等于整数5。这种东西叫什么?我试过在网上搜索,但我似乎无法弄清楚这指的是什么。我觉得这很有趣,想知道在哪里/如何学习如何打印不同的东西,而不仅仅是整数5。字母、符号等。因为我无法在该代码中指出一个模式,所以我有0成功从中获取并添加到它以产生不同的结果。这是某种混淆吗? 最佳答案 除了eval()之外,这种类型的混淆被称为非字母数字混淆。要完全非字母数字,eval必须由Array构造函数原型(prototype)函数和下标符号执行:[]

javascript - Javascript eval 的替代品

这个问题在这里已经有了答案:WhataretheAlternativestoevalinJavaScript?(11个答案)关闭7年前。Mozilla的ContentSecurityPolicy不允许使用javascripteval函数和内联脚本。他们声称eval的所有实例都可以被另一个(希望更安全的)函数替换。我同意在大多数情况下,可以替换Javascripteval,但我不确定是否可以在每种情况下进行替换。我的问题有两个:是否有通用的方法来替换每个javascripteval函数?(不一定是安全的)是否存在无法替换Javascripteval的情况?

asp.net - 在 OnClientClick 代码中包含 eval/bind 值

我需要从gridview(VS2005/2008)打开一个弹出式详细信息窗口。我想要做的是在我的TemplateColumn的标记中有一个asp:Button控件,有点像这样:','','scrollbars=yes,resizable=yes,width=350,height=550');"当然,不起作用的是附加部分来设置查询字符串变量。有什么建议吗?或者是否有更好的方法来实现相同的结果? 最佳答案 我相信这样做的方法是onClientClick= 关于asp.net-在OnClien