标签: eval

是否有充分的理由使用eval()?

在我看来,eval()同样不屑于goto.而且eval,我指的是一个用于执行字符串作为代码的函数,如PHP,Python,JavaScript等所示.是否存在使用eval()合理的情况(perl除外)?如果没有,为什么这么多语言实现它呢?

eval

24
推荐指数
3
解决办法
4012
查看次数

'eval'应该是讨厌的吗?

我多次使用eval红宝石的功能.但我听说有人说evals很讨厌.当被问到为什么以及如何,我永远无法得到令人信服的理由不使用它.他们真的很讨厌吗?如果是,以什么方式?评估有哪些"更安全"的选择?

ruby eval

23
推荐指数
6
解决办法
6741
查看次数

Python的eval()在不受信任的字符串上的安全性?

如果我使用eval()评估Python字符串,并且有一个类如下:

class Foo(object):
    a = 3
    def bar(self, x): return x + a
Run Code Online (Sandbox Code Playgroud)

如果我不信任字符串会有什么安全风险?特别是:

  1. eval(string, {"f": Foo()}, {})不安全的?也就是说,你可以从Foo实例到达os或sys或者不安全的东西吗?
  2. eval(string, {}, {})不安全的?也就是说,我可以完全从内置像len和list到达os或sys吗?
  3. 有没有办法让eval上下文中的内置函数不存在?

有一些不安全的字符串,如"[0]*100000000",我不在乎,因为在最坏的情况下,他们会减慢/停止程序.我主要关心的是保护程序外部的用户数据.

显然,eval(string)在大多数情况下,没有自定义词典是不安全的.

python security eval

23
推荐指数
4
解决办法
1万
查看次数

在Python中使用eval?

eval()Python中有一个函数我在玩游戏时偶然发现.我不能想到需要这个功能的情况,除了可能是语法糖.谁能举个例子?

python eval dynamic

23
推荐指数
5
解决办法
4万
查看次数

转发器中的#Eval if语句

我正在尝试检查转发器中的字符串值,如果它有值,则写一个链接,但似乎无法让它工作.如果myUrl中有值,那么我想显示链接.

 <%if( %> <%#Eval("myURL").ToString().Length > 0 %>
       <a  title="myTitle" target="_blank" href="<%# Eval("myURL") %>">my link</a>                  
 <% } %>
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

asp.net eval

23
推荐指数
3
解决办法
5万
查看次数

是否有等效于Eval的C/C++("function(arg1,arg2)")?

它需要一种方法来调用函数,其名称存储在类似于eval的字符串中.你能帮我吗?

c++ eval

23
推荐指数
4
解决办法
3万
查看次数

为什么python的eval有长度限制?

我并不是说这会是一个好主意,但我发现你可以通过eval在足够大的输入字符串上运行来崩溃Python(2.7和3.2检查):

def kill_python(N):
    S = '+'.join((str(n) for n in xrange(N)))
    return eval(S)
Run Code Online (Sandbox Code Playgroud)

在我的计算机上S可以很好地生成,但对于大约的值N>74900,Python将失败Segmentation fault (core dumped).解释器可以处理的字符串(或解析树)的长度是否有限制?

注意:我不需要这样做,对我来说,这是一个更深层次的问题,反映了我对盒子里面发生的事情的无知.我想理解为什么Python在这里失败,所以灾难性的(为什么不抛出异常?)

python eval segmentation-fault

23
推荐指数
1
解决办法
1415
查看次数

带有Eval()的NavigateUrl的HyperLink.哪里出错了?

首先,我改变HyperLink.NavigateUrl了代码隐藏Page_Load().

但在我决定使用Eval()方法设计之后.

<asp:HyperLink runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Eval("type"), Eval("id")) %>' Text="Refuse" />
Run Code Online (Sandbox Code Playgroud)

要么

<asp:HyperLink ID="urlRefuse" runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />
Run Code Online (Sandbox Code Playgroud)

where idtype- 是来自的变量Request.

但它不起作用.仅显示原始文本"拒绝".我的错误在哪里?提前致谢.

.net c# asp.net eval code-behind

22
推荐指数
2
解决办法
7万
查看次数

jsFiddle如何在不危险的情况下允许并执行用户定义的JavaScript?

我一直在研究JS库,并希望在Github上设置一个演示页面,例如,用户可以定义自己的回调并执行命令.

我知道" eval()是邪恶的",我可以看到eval()脚本是多么盲目导致XSS和其他安全问题.我正在尝试制定一些替代方案.

我真的很喜欢jsFiddle的互动性.我已经看了他们的来源,但希望有人可以在这里列出jsFiddle如何允许并执行用户定义的JavaScript而不会有危险.只要它不涉及第三方echo服务器,我希望我能模仿这种方法.

javascript security user-input eval cross-domain

22
推荐指数
1
解决办法
3392
查看次数

if语句中的eval?

 <% if(Eval("SaveDate") != DBNull.Value){ %>
     do magic                           
 <%} %>
Run Code Online (Sandbox Code Playgroud)

给我错误:数据绑定方法,如Eval(),XPath()和Bind()只能在数据绑定控件的上下文中使用.

我可以写:<%#Eval("SaveDate")!= DBNull.Value?做魔法但我需要在if语句中做很多html魔术.

我知道我应该添加#以便使用Eval,但不确定正确的语法.

c# asp.net eval

21
推荐指数
2
解决办法
3万
查看次数