-4

カスタム投稿タイプのワードプレス テーマで WPAlchemy MetaBox PHP クラスを使用しています。Theme-Check を実行すると問題が発生します。

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重大なセキュリティ上の問題が発生する可能性があるため、絶対に使用しないでください。this 1this 2this 3this 4this 5またはthis 6を参照してください。

eval が不要になるようにコードを書き直してください。

于 2012-10-23T17:47:54.943 に答える
4

試す$.parseJSON(data.indexOf('{') < 0 ? '{' + data + '}' : data)

評価は悪です

于 2012-10-23T17:49:19.470 に答える
0

ファイルを「eval」でスキャンしているので、「ev」。「al」を使用できます。しかし、evalの使用が適切かどうかは別の問題です。

于 2012-10-23T17:52:00.780 に答える
0

eval を使用する必要がある場合は、何か問題が発生しています。ベストプラクティスで適切に実装できない eval を使用する実際の状況はないはずです。

于 2012-10-23T17:50:25.307 に答える