답변:
휠을 다시 발명하지 않고 다음과 같은 점검이있는 보안 검토 모듈을 설치 하십시오.
컨텐츠의 PHP 또는 Javascript (Drupal 7의 노드 및 주석 및 필드)
블록의 경우 block_custom 테이블에서 형식 열을 확인할 수 있습니다.
어려운 점은 Views입니다-뷰에서 악성 PHP를 프로그래밍 방식으로 찾는 신뢰할 수있는 방법을 아직 찾지 못했습니다.
MySQL에서 아래 명령을 실행하여 PHP가 활성화 된 모든보기를 찾을 수 있습니다 ...
SELECT vv.name , vd.display_options
FROM views_display AS vd
LEFT JOIN views_view AS vv ON vv.vid = vd.vid
WHERE vd.display_options REGEXP '.s:[3]+:"php".*'
views_display 테이블은이 정보를 직렬화 된 형식으로 저장 합니다 .... 위의 쿼리가 예상대로 작동했습니다. PHP보기 수수께끼를 해결하는 데 도움 이되기를 바랍니다 :-)
위의 Anil Sagar의 코드는 뷰가 데이터베이스에 저장된 경우에만 작동합니다. 뷰가 코드로만 작동하면 작동하지 않습니다. 그래서 모든 뷰를 db에 저장하기 위해 실행하는 작은 스 니펫을 작성했습니다. 그런 다음 MySQL 스 니펫을 사용하여 PHP를 노출시킬 수 있습니다.
$views = views_get_all_views();
foreach ($views as $view) {
if (empty($view->disabled)) {
$view->save();
drupal_set_message('view saved: ' . check_plain($view->name));
}
}
오래된 질문이지만 Google 검색에서 처음이었습니다.
모든 PHP 항목을 찾아야하는 Contrib 모듈이 있습니다.
'PHP Finder'모듈은 노드, 블록 또는 뷰에서 PHP 필터 형식이 사용되는 위치를 찾는 데 사용됩니다.