2013-04-03 13 views
0

我建立一個類,將容納了我最常使用的功能包裝的頁面,一個是運行查詢功能,我當我想運行一個MySQL查詢時,它總是會調用它,它會清理查詢以確保沒有SQL注入。

這個包裝函數會做的一些事情是,如果它檢測到查詢是SQL注入的嘗試,它會在表中記錄用戶IP,日期和查詢本身,所以我可以稍後再回顧一下,想着存儲爲$_SERVER['REQUEST_URI'],如果這樣,它在我的頁面中的一個出現故障,我可以找到有問題的網頁,並修復它。

然而,事情突然出現在我的腦海裏,確實$_SERVER['REQUEST_URI']返回頁面中調用它或沒有,我的類文件的名稱是main.php

,所以我想知道,如果我是將$_SERVER['REQUEST_URI']放在我的main.php文件中,然後在test.php中調用該函數,它會返回,主或測試

回答

3

它是URI,不一定是原始腳本。 http://php.net/manual/en/reserved.variables.server.php

所以它將取決於爲了提供腳本而調用的url。

因此,例如,你可以有htaccess的重寫URL,這樣www.yoursite.com/something實際供應main.php包含test.php的。請求URI將記錄/某些內容,而不是用於提供頁面的任何文件。

你可以只通過一個唯一的ID爲您創建的包裝方法。您應該能夠跟蹤並記錄哪個查詢很容易被修改,假設您以一種合理的方式寫出它。