php关闭eval(PHP关闭runtime)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享php关闭eval的知识,其中也会对PHP关闭runtime进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、php eval()函数的使用
- 2、请问如果我禁止php执行eval会影响到JavaScript的eval()嘛
- 3、求大神帮解这段php加密代码,,把eval改为exit 可是还是没效果呢?那应该怎么做呢?
- 4、php eval怎样执行系统命令?
- 5、php eval 的问题
- 6、php怎么禁用eval函数
php eval()函数的使用
这有些人写代码故弄玄虚,你我是否都感觉他们挺讨厌啊。
你先查下手册eval函数的用法。
然后这个代码也可以这样:
eval('?'.$str);
eval里面是先运算,再执行。所以先输出了?而这个是PHP代码的结束,再执行$str,当然是扔出100了。

请问如果我禁止php执行eval会影响到JavaScript的eval()嘛
不会影响,PHP是服务器端执行的代码,js是客户端执行的代码,两者之间没有直接联系的
求大神帮解这段php加密代码,,把eval改为exit 可是还是没效果呢?那应该怎么做呢?
?php
require_once(dirname(__FILE__).'/config.php');
CheckPurview('a_New,a_AccNew');
require_once(DEDEINC.'/customfields.func.php');
require_once(DEDEADMIN.'/inc/inc_archives_functions.php');
if(empty($dopost))
{
$dopost = '';
}
if($dopost != 'save')
{
require_once(DEDEINC.'/dedetag.class.php');
require_once(DEDEADMIN.'/inc/inc_catalog_options.php');
ClearMyAddon();
$channelid = empty($channelid) ?0 : intval($channelid);
$cid = empty($cid) ?0 : intval($cid);
if($cid 0 $channelid == 0)
{
$row = $dsql-GetOne("Select channeltype From `#@__arctype` where id='$cid'; ");
$channelid = $row['channeltype'];
}
else
{
if($channelid==0)
{
ShowMsg('无法识别模型信息,因此无法操作!','-1');
exit();
}
}
$cInfos = $dsql-GetOne(" Select * From `#@__channeltype` where id='$channelid' ");
$channelid = $cInfos['id'];
$maxWright = $dsql-GetOne("SELECT COUNT(*) AS cc FROM #@__archives");
include DedeInclude('templets/archives_line_add.htm');
exit();
}
else if($dopost=='save')
{
require_once(DEDEINC.'/image.func.php');
require_once(DEDEINC.'/oxwindow.class.php');
$flag = isset($flags) ?join(',',$flags) : '';
$notpost = isset($notpost) $notpost == 1 ?1: 0;
if(empty($click)) $click = ($cfg_arc_click=='-1'?mt_rand(50,200) : $cfg_arc_click);
if(empty($typeid2)) $typeid2 = 0;
if(!isset($autokey)) $autokey = 0;
if(!isset($remote)) $remote = 0;
if(!isset($dellink)) $dellink = 0;
if(!isset($autolitpic)) $autolitpic = 0;
if(empty($click)) $click = ($cfg_arc_click=='-1'?mt_rand(50,200) : $cfg_arc_click);
if($typeid==0)
{
ShowMsg('请指定文档的栏目!','-1');
exit();
}
if(empty($channelid))
{
ShowMsg('文档为非指定的类型,请检查你发布内容的表单是否合法!','-1');
exit();
}
if(!CheckChannel($typeid,$channelid) )
{
ShowMsg('你所选择的栏目与当前模型不相符,请选择白色的选项!','-1');
exit();
}
if(!TestPurview('a_New'))
{
CheckCatalog($typeid,"对不起,你没有操作栏目 {$typeid} 的权限!");
}
if(empty($writer)) $writer = $cuserLogin-getUserName();
if(empty($source)) $source = '未知';
$pubdate = GetMkTime($pubdate);
$senddate = time();
$sortrank = AddDay($pubdate,$sortup);
$ismake = $ishtml == 0 ?-1 : 0;
$title = ereg_replace('"','"',$title);
$title = cn_substrR($title,$cfg_title_maxlen);
$shorttitle = cn_substrR($shorttitle,36);
$color = cn_substrR($color,7);
$writer = cn_substrR($writer,20);
$source = cn_substrR($source,30);
$description = cn_substrR($description,$cfg_auot_description);
$keywords = cn_substrR($keywords,60);
$filename = trim(cn_substrR($filename,40));
$userip = GetIP();
$isremote = (empty($isremote)?0 : $isremote);
$serviterm=empty($serviterm)?"": $serviterm;
if(!TestPurview('a_Check,a_AccCheck,a_MyCheck'))
{
$arcrank = -1;
}
$adminid = $cuserLogin-getUserID();
if(empty($ddisremote))
{
$ddisremote = 0;
}
$litpic = GetDDImage('none',$picname,$ddisremote);
$arcID = GetIndexKey($arcrank,$typeid,$sortrank,$channelid,$senddate,$adminid);
if(empty($arcID))
{
ShowMsg("无法获得主键,因此无法进行后续操作!","-1");
exit();
}
$inadd_f = $inadd_v = '';
if(!empty($dede_addonfields))
{
$addonfields = explode(';',$dede_addonfields);
if(is_array($addonfields))
{
foreach($addonfields as $v)
{
if($v=='') continue;
$vs = explode(',',$v);
if($vs[1]=='htmltext'||$vs[1]=='textdata')
{
${$vs[0]}= AnalyseHtmlBody(${$vs[0]},$description,$litpic,$keywords,$vs[1]);
}
else
{
if(!isset(${$vs[0]})) ${$vs[0]}= '';
${$vs[0]}= GetFieldValueA(${$vs[0]},$vs[1],$arcID);
}
$inadd_f .= ','.$vs[0];
$inadd_v .= " ,'".${$vs[0]}."' ";
}
}
}
if($litpic!=''!ereg('p',$flag))
{
$flag = ($flag==''?'p': $flag.',p');
}
if($redirecturl!=''!ereg('j',$flag))
{
$flag = ($flag==''?'j': $flag.',j');
}
if(ereg('j',$flag)) $ismake = -1;
$noo=count($att[from]);
if($noo=0)
{
$okxc=okfromzj($noo,$att[from],$att[to],$att[by],$att[zc],$att[zhc],$att[wc],$att[home],$att[xingcheng]);
$xcjd=xcjd($noo,$att[jd]);
}
if($allll0 and $datee1'')
{
$da='';
for($i=1;$i=$allll;$i++)
{
$datee="datee".$i;
$dateee="dateee".$i;
$crr="crr".$i;
$rtt="rtt".$i;
$smm="smm".$i;
$plda .="~".$$datee."+".$$dateee."+".$$crr."+".$$rtt."+".$$smm;
}
}
else
{
for($i=1;$i=$alll;$i++)
{
$date="date".$i;
$cr="cr".$i;
$rt="rt".$i;
$sm="sm".$i;
$da .="~".$$date."+".$$cr."+".$$rt."+".$$sm;
}
}
$query = "INSERT INTO `#@__archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,
color,writer,source,litpic,pubdate,senddate,mid,notpost,description,keywords,filename,dutyadmin,weight)
VALUES ('$arcID','$typeid','$typeid2','$sortrank','$flag','$ismake','$channelid','$arcrank','$click','$money','$title','$shorttitle',
'$color','$writer','$source','$litpic','$pubdate','$senddate','$adminid','$notpost','$description','$keywords','$filename','$adminid','$weight');";
if(!$dsql-ExecuteNoneQuery($query))
{
$gerr = $dsql-GetError();
$dsql-ExecuteNoneQuery("Delete From `#@__arctiny` where id='$arcID'");
ShowMsg("把数据保存到数据库主表 `#@__archives` 时出错,请把相关信息提交给CTSCMS官方。".str_replace('"','',$gerr),"javascript:;");
exit();
}
$cts = $dsql-GetOne("Select addtable From `#@__channeltype` where id='$channelid' ");
$addtable = trim($cts['addtable']);
if(!empty($addtable))
{
$useip = GetIP();
$query = "INSERT INTO `{$addtable}`(aid,typeid,xc,bj,plbj,xcjd,redirecturl,userip{$inadd_f}) Values('$arcID','$typeid','$okxc','$da','$plda','$xcjd','$redirecturl','$useip'{$inadd_v})";
if(!$dsql-ExecuteNoneQuery($query))
{
$gerr = $dsql-GetError();
$dsql-ExecuteNoneQuery("Delete From `#@__archives` where id='$arcID'");
$dsql-ExecuteNoneQuery("Delete From `#@__arctiny` where id='$arcID'");
ShowMsg("把数据保存到数据库附加表 `{$addtable}` 时出错,请把相关信息提交给CTSCMS官方。".str_replace('"','',$gerr),"javascript:;");
exit();
}
}
InsertTags($tags,$arcID);
if($cfg_remote_site=='Y'$isremote=="1")
{
if($serviterm!=""){
list($servurl,$servuser,$servpwd) = explode(',',$serviterm);
$config=array( 'hostname'=$servurl,'username'=$servuser,'password'=$servpwd,'debug'='TRUE');
}else{
$config=array();
}
if(!$ftp-connect($config)) exit('Error:None FTP Connection!');
}
ClearMyAddon($arcID,$title);
$artUrl = MakeArt($arcID,true,true,$isremote);
if($artUrl=='')
{
$artUrl = $cfg_phpurl."/view.php?aid=$arcID";
}
$msg = " 请选择你的后续操作:
a href='archives_line_add.php?cid=$typeid'u继续发布文档/u/a
nbsp;nbsp;
a href='$artUrl' target='_blank'u查看文档/u/a
nbsp;nbsp;
a href='archives_do.php?aid=".$arcID."dopost=editArchives'u更改文档/u/a
nbsp;nbsp;
a href='catalog_do.php?cid=$typeiddopost=listArchives'u已发布文档管理/u/a
nbsp;nbsp;
$backurl
";
$msg = "div style=\"line-height:36px;height:36p
php eval怎样执行系统命令?
eval — 把字符串作为PHP代码执行
说明
mixedeval( string $code_str )
把字符串code_str作为PHP代码执行。 除了其他,该函数能够执行储存于数据库文本字段内的PHP代码。
使用eval()时需注意几个因素:注意字符必须是有效的PHP代码,包括结尾的分号,以不至于解释器在eval()之后退出。并且正确地转义code_str中的东西。你可以使用一个PHP闭合标签来混合输出HTML和PHP代码。
同时需注意eval中的变量会被保留在之后的主脚本中。
参数
code_str需要被执行的字符串code_str不能包含 PHP Opening tags。
return语句会立即中止当前字符串的执行。
返回值
eval()返回NULL,除非在执行的代码中return了一个值,函数返回该值。 如果在执行的代码中有一个解析错误,eval()返回FALSE,之后的代码将正常执行。无法使用 set_error_handler() 捕获eval()中的解析错误。
范例
Example #1eval()例子 - 简单的文本合并
?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?
以上例程会输出:
This is a $string with my $name in it.This is a cup with my coffee in it.
Note: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。
Tip和直接将结果输出到浏览器一样,可使用输出控制函数来捕获当前函数的输出,然后(例如)保存到一个 string 中。
Note:
如果在执行的代码中产生了一个致命的错误(fatal error),整个脚本会退出。
Linux 中
shell中的eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。
例如
$:cat ext
count=3
cmd=echo
cmd="$cmd \$$count"
ext 11 22 33
此时cmd=" echo $3"
eval $cmd 等价于 "echo 33 "
php eval 的问题
$buffer 字符串作为php语句执行
如$buffer 内容有 "$title='这是标题';"
执行后 eval($buffer);
就会在当前作用域内有变量$title并且值为“这是标题”
通常在更新配置文件时使用
php怎么禁用eval函数
PHP.ini 中有disable_functions选项,
disable_functions = phpinfo,eval
使用已禁用的函数
phpinfo();
显示结果
Warning: phpinfo() has been disabled for security reasons
关于php关闭eval和PHP关闭runtime的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
