我目前正在編寫一個專注於安全性的php框架。我使用查詢生成器來生成SQL語句,以便它不綁定到MySQL。 (或一般的SQL)我發現用戶可以注入行名的某些可能性,所以它必須以某種方式逃避它們。由於查詢生成器的工作原理,我很遺憾不能使用預準備語句。我怎樣才能解決這個問題?mysql消毒行名
編輯:
該系統適用於例如這樣的:db::select()-from('Tablename')->that('rowname')->run()
。而且恐怕有一個用戶可以做類似that($_GET['foo'])
之類的東西。我可以忍受這一點,但我認爲必須有一種方法來這樣做
在準備好的語句中使用'mysqli_'或'PDO'? – Kermit 2013-02-15 16:20:41
你可以顯示一些代碼或給出具體用例與你正在使用什麼行名稱?如果你不能使用準備好的語句,那麼你正在做一些非常錯誤的事情。 – mkaatman 2013-02-15 16:21:21
系統的工作原理如下: – edave 2013-02-15 16:31:54