Answers:
无需重新发明轮子,只需安装Security Review模块,该模块具有以下检查:
内容中的PHP或Javascript(Drupal 7中的节点和注释以及字段)
对于块,您可以检查block_custom表中的format列。
困难的是Views-我尚未找到一种可靠的方式以编程方式在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的代码才有效。如果视图仅在代码中,则将无法使用。因此,我写了一个小片段来运行以将所有视图保存到数据库。然后,我可以使用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));
}
}