我有一個MySQL服務器(服務器版本:5.1.68-社區; MySQL客戶端版本:5.0.51a)。有沒有辦法限制所有用戶對information_schema的所有訪問權限?MYSQL限制用戶訪問information_schema
會發生什麼情況是,有些客戶網站經常通過SQL注入攻擊,他們可以從information_schema表/視圖獲取數據庫結構。當然,我們需要更改PHP代碼以防止SQL注入,但我仍想限制對整個服務器範圍內的information_schema的訪問。
請指導我...在此先感謝
非常感謝您的快速回復。我的問題不在於有人妥協其他用戶。但是對於SQL注入,任何人都可以注入一個sql語句,如'....%20union%20select%201,group_concat(table_name),3%20%20from%20information_schema.tables%20where%20table_schema = database()'一個實際的注入發生在我的網站上)到PHP代碼並獲取當前數據庫的結構。我完全理解PHP代碼中的漏洞必須修復,但是如果我們可以限制來自information_schema的所有用戶的SELECT特權(至少),將會更安全。 – Sujith
您應該認識到:如果SQL注入_was successful_ - 那麼無法阻止用戶使用它自己的權限。 'INFORMATION_SCHEMA'只是一個投影。如果用戶有權訪問某個表 - 那麼即使不訪問該數據庫,他也會這樣做。在你的情況下,他只是使用'SHOW TABLES' –
你是絕對正確的,我完全同意你的看法。關於樣品注射,有了它,他們可以得到表格列表,然後進行另一次注射以獲取數據,然後在這些表格上添加/編輯/刪除,我們會遇到麻煩。 – Sujith