2012-10-23 3 views
-4

일부 사용자 정의 포스트 유형에 대한 내 WordPress의 테마에서 WPAlchemy MetaBox PHP 클래스를 사용하고 있습니다. MediaAccess.phpeval()이 허용되지 않습니다.

에서 발췌 한 아래 참조 CDATA

:

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

이 오는 이유를 모르겠어요 선으로 375 자바 스크립트로 묶여 : 나는 테마 검사를 실행할 때 문제가 나타납니다

// 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 

가 나는 워드 프레스 디렉토리에이 테마를 제출하려는 있지만이 오류와 함께 그것을 허용하지 않습니다 확실히/

+5

* "eval()이 허용되지 않습니다"* 왜 그런지 설명하지 않습니까? –

+0

당신은 당신의 클래스 속성이 어떻게 생겼는지, 그리고 당신이 평가 이후에 무엇을하고 있는지에 대한 예제를 줄 수 있습니까? – jbabey

답변

4

는 평가 뭔가를 사용했다 잘못된 경우 $.parseJSON(data.indexOf('{') < 0 ? '{' + data + '}' : data)

평가가

+0

당신 만이 주제에 대한 유일한 답변입니다. 하지만 초보자 meme는 불필요합니다. – mario

+0

트릭을 만든 것처럼 보입니다. 정말 고맙습니다! –

4

당신을 01를 사용해서는 안은 잠재적으로 심각한 보안 문제 일 수 있습니다. this1, this2, this3, this4, this5 또는 this6을 참조하십시오.

eval이 필요없는 방식으로 코드를 다시 작성하십시오.

+0

해당 행을 다시 작성하고 클래스의 기능을 유지할 수있는 방법이 있습니까? 감사합니다 –

0

악보십시오. 베스트 프랙티스로 제대로 구현 될 수없는 eval을 사용하는 실제 상황이 없어야합니다.

+0

WPAlchemy 메타 상자 클래스가 코딩 된 바로 그 방식입니다. –

0

다음과 같이 사용할 수 있습니다. "ev". "al". 파일을 "eval"로 검색 할 때 사용합니다. 그러나 평가의 사용이 좋다면 다른 질문입니다.

+0

이것은 또한 아마도 트릭을 할 것입니다. –

관련 문제