警告:php_eval()
我在drupal站点中添加了一些php代码。当我试着运行它时,它显示一个警告,如 “警告:关于php_eval()中的故障,请联系支持人员(第80行/folderpath../modules/php/php.module)。” 在php.module的第80行中包含警告:php_eval(),php,drupal-7,Php,Drupal 7,我在drupal站点中添加了一些php代码。当我试着运行它时,它显示一个警告,如 “警告:关于php_eval()中的故障,请联系支持人员(第80行/folderpath../modules/php/php.module)。” 在php.module的第80行中包含 ob_start(); print eval('?>' . $code); $output = ob_get_contents(); ob_end_clean(); 实际上这是一个php代码发送邮件 请任何人帮我找出这个 提
ob_start();
print eval('?>' . $code);
$output = ob_get_contents();
ob_end_clean();
实际上这是一个php代码发送邮件
请任何人帮我找出这个
提前谢谢
这是我为发送邮件而编写的代码
$strTo = $_POST["txtTo"];
$strSubject = $_POST["txtSubject"];
$strMessage = nl2br($_POST["txtDescription"]);
//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));
$strHeader = "";
$strHeader .= "From: ".$_POST["txtFormName"]."<".$_POST["txtFormEmail"].">\nReply-To: ".$_POST["txtFormEmail"]."";
$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=utf-8\n";
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $strMessage."\n\n";
//*** Attachment ***//
if($_FILES["fileAttach"]["name"] != "")
{
$strFilesName = $_FILES["fileAttach"]["name"];
$strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"])));
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n";
$strHeader .= "Content-Transfer-Encoding: base64\n";
$strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
$strHeader .= $strContent."\n\n";
}
$flgSend = @mail($strTo,$strSubject,null,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Mail send completed.";
}
else
{
echo "Cannot send mail.";
}
$strTo=$\u POST[“txtTo”];
$strSubject=$_POST[“txtSubject”];
$strMessage=nl2br($_POST[“txtDescription]”);
//***Uniqid会议***//
$strSid=md5(uniqid(time());
$strHeader=“”;
$strHeader.=“发件人:”..$\u POST[“txtFormName”]。\n收件人:“..$\u POST[“txtFormEmail”]”;
$strHeader.=“MIME版本:1.0\n”;
$strHeader.=“内容类型:多部分/混合;边界=\”.$strId.\“\n\n”;
$strHeader.=“这是MIME格式的多部分消息。\n”;
$strHeader.=“-”$strSid.\n”;
$strHeader.=“内容类型:text/html;字符集=utf-8\n”;
$strHeader.=“内容传输编码:7bit\n\n”;
$strHeader.=$strMessage.\n\n;
//***附件:***//
如果($\u文件[“文件附加”][“名称”]!=“”)
{
$strFilesName=$\u文件[“文件附加”][“名称”];
$strContent=chunk\u split(base64\u编码(文件获取内容($\u文件[“文件附加”][“tmp\u名称])));
$strHeader.=“-”$strSid.\n”;
$strHeader.=“内容类型:应用程序/八位字节流;名称=\”“。$strFilesName.\”\n”;
$strHeader.=“内容传输编码:base64\n”;
$strHeader.=“内容处置:附件;文件名=\”。$strFilesName.\“\n\n”;
$strHeader.=$strContent.\n\n;
}
$flgSend=@mail($strTo,$strSubject,null,$strHeader);/@=无显示错误//
如果($flgSend)
{
回显“邮件发送已完成。”;
}
其他的
{
echo“无法发送邮件。”;
}
看起来您的主机不允许执行eval()
函数,这很常见,因为它可以在各种攻击脚本中用于攻击服务器。很可能他们也不允许您使用它,因为它可能会危及整个服务器,您需要更换主机 看起来您的主机不允许执行eval()
函数,这很常见,因为它可以在各种攻击脚本中用于攻击服务器。很可能他们也不允许您使用它,因为它可能会危及整个服务器,您需要更换主机 更改主机并不能解决问题,我的Ubuntu服务器允许eval()函数,但我在Apache日志中报告了相同的错误:
为了清楚起见,如果我删除$code变量,那么我就会在首页上丢失3个URL。更改主机不会解决问题,我的Ubuntu服务器允许eval()函数,但我在Apache日志中报告了相同的错误:
明确,;如果我删除$code变量,那么我就会在首页上丢失3个URL。或者找到一种不使用
eval()
@Dunhamzzz发送电子邮件的方法谢谢你的回复……但是我不明白……你的意思……我对drupal和php是新手……你能再解释一下吗……drupal及其模块有时会有一些奇怪的事情。允许您将php放在模板中提倡使用eval(),而这在共享模板上是行不通的hosts@Dunhamzzz我已经在cpanel中创建了我的站点作为子域…这有问题吗?我们需要创建作为域的站点吗?绝对没有关系。您需要将主机更改为允许eval()的主机。这个问题不是你能解决的。或者找到一种不用eval()
@Dunhamzzz就可以发送电子邮件的方法谢谢你的回复……但我不明白……你的意思……我是drupal和php新手……你能再解释一遍吗……drupal及其模块有时会出现一些奇怪的事情。允许您将php放在模板中提倡使用eval(),而这在共享模板上是行不通的hosts@Dunhamzzz我已经在cpanel中创建了我的站点作为子域…这有问题吗?我们需要创建作为域的站点吗?绝对没有关系。您需要将主机更改为允许eval()的主机。这个问题不是你们能解决的。你们能回显$代码并更新问题吗?这样我们就可以查看评估脚本中是否有任何错误。我怀疑它可能有“?>”或可能导致error@sridhar我已经删除了?>并放置了…但仍然显示相同的错误…发送邮件脚本是标准php脚本还是drupal模块