回答:
ホイールを再発明するのではなく、次のチェックを行うSecurity Reviewモジュールをインストールするだけです。
コンテンツ内のPHPまたはJavascript(Drupal 7のノードとコメントおよびフィールド)
ブロックの場合は、block_customテーブルのフォーマット列を確認できます。
難しいのはビューです-ビューで不正な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));
}
}
古い質問ですが、私のGoogle検索では最初でした。
すべてのPHPエントリを見つけることになっているContribモジュールがあります。
「PHP Finder」モジュールは、ノード、ブロック、ビューのいずれの場合でも、PHPフィルター形式が使用されている場所を見つけるために使用されます。