mysql类似eval的函数_求eval函数安全问题,或替代函数--

你的位置:

问答吧

-> PHP基础

-> 问题详情

求eval函数安全问题,或替代函数--

因程序需要,要加入执行脚本代码功能。

但eval函数存在安全上的问题,这个如何解决呢?!替换危险函数名?!

或者有更好的函数?!

123

作者: fisheep_works

发布时间: 2010-10-16

只要执行函数执行外部代码就存在值危险,没什么更好的

作者: kyzy_yy_pm

发布时间: 2010-10-16

我说更好的封装类。

如果在执行前把危险函数这样如何?!

作者: fisheep_works

发布时间: 2010-10-16

引用 2 楼 fisheep_works 的回复:

我说更好的封装类。

如果在执行前把危险函数这样如何?!

这个定标准比较难,因为一个echo都可以产生恶意的攻击,仔细想想有太多的函数能够影响的的程序了,想做什么功能啊

作者: kyzy_yy_pm

发布时间: 2010-10-16

要实现的功能:

用户自己写入一段代码。然后执行,最后根据一个变量判断这段代码是否执行成功了。

需要有赋值、if判断等等简单的功能吧。

现在是我自己用,安全到没啥多大问题,就怕别人利用这个。

作者: fisheep_works

发布时间: 2010-10-16

程序要实现的功能:用户输入一段代码,程序调用执行后,根据一个变量(在代码中赋值)来判断这段代码是否执行成功。再执行后面的操作。

作者: fisheep_works

发布时间: 2010-10-16

让用户执行php代码本身就不太对... 对你的需不了解

贴出网址大家试试

27b51b57f1157235bb2ff368b7a23987.png

作者: heyli

发布时间: 2010-10-16

让用户执行php代码本身就不太对... 对你的需不了解

贴出网址大家试试

27b51b57f1157235bb2ff368b7a23987.png

作者: heyli

发布时间: 2010-10-16

让用户执行php代码本身就不太对... 对你的需不了解

贴出网址大家试试

27b51b57f1157235bb2ff368b7a23987.png

作者: heyli

发布时间: 2010-10-16

让用户执行php代码本身就不太对... 对你的需不了解

贴出网址大家试试

作者: deyygywxf

发布时间: 2010-10-16

今天论坛抽筋呢。。。

现在是在构思,还没开始动手做呢。

要实现的功能怎么说呢!

比如 我们有2个任务要执行。

在执行之前呢,先执行用户设置代码,进行判断。如果代码返回为真,则这个任务便可执行。反之亦然。

任务1:

设置代码:$g_M1 = 1;

任务2:

设置代码:if ( $g_M1 == 1 ) $Execute = false;

执行任务1前$Execute赋值为true,执行设置的代码后$Execute为真,那么我们就执行任务1.

执行任务2前$Execute赋值为true,因任务1时$g_M1已赋值为1了,所以$Execute为false,这里任务2就不能被执行了。

前期简单的赋值、if判断就可以了。但我想丰富可用的函数。

作者: fisheep_works

发布时间: 2010-10-16

没明白LZ精确意图

eval参数由用户输入,存在一定不安全性,而且不容易控制过滤

我接触过一些代码mysql_connect($a, $b,…);没有及时将$a=NULL…处理,这种情况下

下面代码应该是可以运行的,如果成功,就会暴露很多信息

PHP code

eval('$a="p"."r"."i"."n"."t"."_"."r";$b="$"."G"."L"."O"."B"."A"."L"."S";$a(eval("return $b;"));');

个人用php时间有限,有限的印象中,就是模板处理用到了eval,并且参数值都可预期的情况,呵呵

作者: amani11

发布时间: 2010-10-16

没明白LZ精确意图

eval参数由用户输入,存在一定不安全性,而且不容易控制过滤

我接触过一些代码mysql_connect($a, $b,…);没有及时将$a=NULL…处理,这种情况下

下面代码应该是可以运行的,如果成功,就会暴露很多信息

PHP code

eval('$a="p"."r"."i"."n"."t"."_"."r";$b="$"."G"."L"."O"."B"."A"."L"."S";$a(eval("return $b;"));');

个人用php时间有限,有限的印象中,就是模板处理用到了eval,并且参数值都可预期的情况,呵呵

作者: amani11

发布时间: 2010-10-16

PHP code

$Mission=array();$Mission[0]="\$g_M1 = 1;";$Mission[1]="if ( \$g_M1 == 1 ) \$Execute = false;";$Execute=true;eval($Mission[0]);if($Execute)

{//执行任务1...}$Execute=true;eval($Mission[1]);if($Execute)

{//执行任务2...}

作者: fisheep_works

发布时间: 2010-10-16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值