我有100個左右用戶的信息數據庫。我有2個擁有數據庫權限的MySQL用戶。根目錄以及特定的數據庫用戶「目錄」。用戶「目錄」只有權限運行SELECT語句,沒有別的。只允許用戶從數據庫中獲得某些信息
一些信息是該用戶的敏感,我使用PHP作爲代理,以檢測它們是用戶的任何SQL命令運行之前,我怎麼能追加的SELECT語句都包括WHERE id = '$their_id'
其中$their_id
是一個PHP變量與他們的身份證。
請注意,用戶將能夠編寫他們的PHP MySQL命令,我在db.php中定義了這些限制,其中將包含連接信息。
我想阻止用戶joe
能夠運行類似SELECT * WHERE id = 'bob'
的命令,當joe
不是bob
時。
編輯:
我目前不掃描,通過任何MySQL的命令的,我只是簡單地創建db.php中爲他們的連接。無論如何,我可以製作自己的代理MySQL命令並強制他們使用它們,這樣他們必須使用我的命令mysql_query
而不是默認的mysql_query
來覆蓋我所做的任何處理。
看起來很容易,但看到更新的答案如何強制他們使用的功能,將處理這個 – ParoX 2011-03-29 21:25:05
看起來他們只是輸入MYSQL查詢。所以你可以創建你自己的函數process_queries(query),然後當你完成編輯它時,你可以使用mysql_query(query) – zamN 2011-03-29 21:36:04