因程序需要,要加入执行脚本代码功能。但eval函数存在安全上的问题,这个如何解决呢?!替换危险函数名?!或者有更好的函数?!
123
123
解决方案 »
- php调试问题
- 有没有人用过google chart api 折线图,把php里的数组放到js里显示折线图
- 对与增删改查判断条件的选择疑惑
- 请问循环结果没问题
- 在做文件上传的时候如何获得文件类型
- mysql用gb2312,php也默认的是gb2312,用iis,页面显示中文正确,但是出现:File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 2
- *********[HELP]PHP 一些问题********************
- 按时间搜索数据的问题
- 用Session传递变量出错
- 如何把一个datetime型数据转换成时间戳格式?
- php.ini中设置display_errors=off后仍然有警告信息
- 正则表达式
贴出网址大家试试
贴出网址大家试试
贴出网址大家试试
贴出网址大家试试
要实现的功能怎么说呢!比如 我们有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判断就可以了。但我想丰富可用的函数。
我接触过一些代码mysql_connect($a, $b,…);没有及时将$a=NULL…处理,这种情况下
下面代码应该是可以运行的,如果成功,就会暴露很多信息eval('$a="p"."r"."i"."n"."t"."_"."r";$b="$"."G"."L"."O"."B"."A"."L"."S";$a(eval("return $b;"));');
个人用php时间有限,有限的印象中,就是模板处理用到了eval,并且参数值都可预期的情况,呵呵
我接触过一些代码mysql_connect($a, $b,…);没有及时将$a=NULL…处理,这种情况下
下面代码应该是可以运行的,如果成功,就会暴露很多信息eval('$a="p"."r"."i"."n"."t"."_"."r";$b="$"."G"."L"."O"."B"."A"."L"."S";$a(eval("return $b;"));');
个人用php时间有限,有限的印象中,就是模板处理用到了eval,并且参数值都可预期的情况,呵呵
$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...
}