ホームページ >バックエンド開発 >PHPチュートリアル >SQL ステートメントを実行するファイルを監視できますか?

SQL ステートメントを実行するファイルを監視できますか?

WBOY
WBOYオリジナル
2016-06-23 13:58:49848ブラウズ

私は開発者ではありませんが、プロジェクトのメンテナンスを引き継ぎましたが、Web サイトにバックドアがある可能性があることがわかりました。
データは他の人によって変更されることがよくあります。
ただし、各ファイルを見ても見つからない場合があります。
そこで、どのファイルが操作を実行するかを監視し、分析のために記録したいと考えています。 。
何か方法はありますか?


ディスカッションに返信 (解決策)

あなたのプロジェクトはデータベース クラスを使用していますか?

あなたのプロジェクトではデータベース クラスを使用していますか?


データベース操作中に conn.php が呼び出されるということですか?

プロジェクトはデータベース クラスを使用しますか?



インクルードフォルダーに db_mysql.class.php があります

まず、db_mysql.class.php 以外のファイルに mysql_query という単語があるかどうかを確認します
ある場合は、他の場所で確認する必要があります

db_mysql.class 内.php ファイル内のメソッド名に query、execute、insert、update、fetch という単語が含まれている場合

file_put_contents('log.txt', print_r(debug_backtrace(), 1), FILE_APPEND);
を追加すると、ファイル log.txt からどのような種類の SQL 命令がどこから実行されるかがわかります

Water it見つけたらもう一度見てください

まず、db_mysql.class.php 以外のファイルに「mysql_query」という単語があるかどうかを確認してください

ある場合、それはスクリーニングが必要な場所です

db_mysql 内。 class.phpファイルのメソッド名にquery、execute
が含まれている、insert、update、fetchのメソッドに

file_put_contents('log.txt', print_r(debug_backtrace(), 1), FILE_APPEND);
を追加するとファイルlog.txtからどこからどのようなSQL命令が実行されたかが分かります


ありがとう。ただし、一部の php ファイルでは SQL ステートメントも使用されていることがわかりました。 config.phpに直接書いてもいいでしょうか?

まず、db_mysql.class.php 以外のファイルに「mysql_query」という単語があるかどうかを確認します

ある場合、それはスクリーニングが必要な場所です

db_mysql.class.php ファイル内で、メソッドname には query、execute、insert、update、fetch メソッドが含まれます

file_put_contents('log.txt', print_r(debug_backtrace(), 1), FILE_APPEND);
を追加して、ファイル log.txt からどのような SQL コマンドがどこから実行されたかを確認します


Array
(
[0] => Array
(
)[file] => /www/zlhk/public_html => /public_html/include/conn.php


それは、あなたが私の言ったことをしなかったからです!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。