-4

我在我的 wordpress 主题中使用 WPAlchemy MetaBox PHP 类来处理一些自定义帖子类型。运行主题检查时出现问题:

WARNING: Found eval in the file inc/metaboxes/MediaAccess.php. eval() is not allowed.. 
Line 375: data = eval('(' + (data.indexOf('{') < 0 ? '{' + data + '}' : data) + ')');

我不知道为什么会这样,因为第 375 行是 JavaScript 包含在:CDATA

请参阅以下 MediaAccess.php 的摘录

// include javascript for special functionality
?><script type="text/javascript">
/* <![CDATA[ */
var interval = null;
var data = $(this).attr('class').match(/({.*})/i);
data = (data && data[1]) ? data[1] : '' ;
data = eval("(" + (data.indexOf('{') < 0 ? '{' + data + '}' : data) + ")");
/* ]]> */
</script><?php

我想将此主题提交到 wordpress 目录,但他们不允许它出现此错误:/

4

4 回答 4

4

您绝对不应该使用eval它,因为它可能是一个严重的安全问题。看这个1这个2这个3这个4这个5或者这个6

只需以不需要 eval 的方式重写您的代码。

于 2012-10-23T17:47:54.943 回答
4

尝试$.parseJSON(data.indexOf('{') < 0 ? '{' + data + '}' : data)

评估是邪恶的

于 2012-10-23T17:49:19.470 回答
0

如果您必须使用 eval ,就会出现问题。不应该存在使用无法通过最佳实践正确实施的 eval 的实际情况。

于 2012-10-23T17:50:25.307 回答
0

您可以使用:“ev”。“al”,因为它正在扫描您的文件以查找“eval”。但是 eval 的使用是否好,是另一个问题。

于 2012-10-23T17:52:00.780 回答