ホームページ >バックエンド開発 >PHPチュートリアル >SQL ステートメントを実行するファイルを監視できますか?
私は開発者ではありませんが、プロジェクトのメンテナンスを引き継ぎましたが、Web サイトにバックドアがある可能性があることがわかりました。
データは他の人によって変更されることがよくあります。
ただし、各ファイルを見ても見つからない場合があります。
そこで、どのファイルが操作を実行するかを監視し、分析のために記録したいと考えています。 。
何か方法はありますか?
あなたのプロジェクトはデータベース クラスを使用していますか?
あなたのプロジェクトではデータベース クラスを使用していますか?
プロジェクトはデータベース クラスを使用しますか?
まず、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 命令がどこから実行されるかがわかります
まず、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命令が実行されたかが分かります
まず、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 コマンドがどこから実行されたかを確認します