求eval函数安全问题,或替代函数-- 因程序需要,要加入执行脚本代码功能。但eval函数存在安全上的问题,这个如何解决呢?!替换危险函数名?!或者有更好的函数?!123 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个定标准比较难,因为一个echo都可以产生恶意的攻击,仔细想想有太多的函数能够影响的的程序了,想做什么功能啊 让用户执行php代码本身就不太对... 对你的需不了解 贴出网址大家试试 让用户执行php代码本身就不太对... 对你的需不了解 贴出网址大家试试 让用户执行php代码本身就不太对... 对你的需不了解 贴出网址大家试试 让用户执行php代码本身就不太对... 对你的需不了解 贴出网址大家试试 今天论坛抽筋呢现在是在构思,还没开始动手做呢。要实现的功能怎么说呢!比如 我们有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判断就可以了。但我想丰富可用的函数。 没明白LZ精确意图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,并且参数值都可预期的情况,呵呵 没明白LZ精确意图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 = 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...} 从mysql中提取time时候出现错误 来帮忙解决一下谢谢 mysql DROP DATABASE问题 [求助]php编译参数--enable-embed和freetype支持问题 大虾帮我看看这段代码,为什么会包含几个空值? 有谁知道学习smartTemplate的地方 问一个关于数组输出的问题 php中如何判断用户输入的手机号为数字类型 phpmyadmin数据库管理中文显示问题!!? PHP如何返回前一页? 关于 PHP 中 按钮的小问题 求教... 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...
}