0

最も一般的に使用する関数のラッパーを収容するクラスを構築しています.1つは、MySQLクエリを実行したいときに常に呼び出す実行クエリ関数です. SQL インジェクションなし。

このラッパー関数が行うことは、クエリが SQL インジェクションの試みであることを検出した場合、ユーザー IP、日付、およびクエリ自体をテーブルに記録して、後で確認できるようにすることです。$_SERVER['REQUEST_URI']そうすれば、自分のページのいずれかに問題がある場合、問題のあるページを見つけて修正できます。

ただし、何かが頭に浮かび、$_SERVER['REQUEST_URI']それが呼び出されたページを返すかどうかに関係なく、クラスファイルの名前はmain.phpです

したがって$_SERVER['REQUEST_URI']、main.php ファイルを関数内に配置し、その関数を test.php で呼び出した場合、main または test が返されるのではないかと考えています。

4

1 に答える 1

3

これは URI であり、元のスクリプトである必要はありません。 http://php.net/manual/en/reserved.variables.server.php

したがって、スクリプトを提供するために呼び出された URL によって異なります。

たとえば、htaccess で URL を書き換えて、www.yoursite.com/something が実際に test.php を含む main.php を提供するようにすることができます。request URI は /something を記録し、ページを提供するために使用されたファイルは記録しません。

作成したラッパー メソッドに一意の ID を渡すだけです。意味のある方法で書き出すと、どのクエリが変更されたかを簡単に追跡してログに記録できるはずです。

于 2013-04-03T01:15:31.270 に答える