最近在研究sql注入防止,都是在轉義使用者輸入的一些特殊字元,我覺得好像沒有這個必要啊。
使用者登陸,我只允許數字、字母、底線,如果出現特殊字元我直接提示不對,都不會dql。
你們說對嗎?
回複討論(解決方案)
你在用戶端限制的還是服務端限制的?
你在用戶端限制的還是服務端限制的?
伺服器端啊,php 正則如果發現不是我允許的字元出現,直接提示有特殊字元,不會dql,也不會給這些特殊字元注入的機會,
當然,這是我的想法,我不知道有沒有什麼弊端
那別人還千方百計的防注入幹嘛
當然,這是我的想法,我不知道有沒有什麼弊端
樓主最近在看好心作怪?
人家多進階的系統,只要想,都能破解。我們只要不讓菜鳥們破了就行。其他的聽天由命
想破壞你的程式的人肯定不會按照正常人那樣去用你的頁面的,他們能繞過你的輸入框,比如直接在地址欄操作,如果你不加防備,一有缺口就能讓別人注入。。。
我只允許數字、字母、底線
如果是這樣的話,那麼確實不存在資料庫注入了
sql注入不僅僅是輸入框 還有地址欄上的傳參
人家多進階的系統,只要想,都能破解。我們只要不讓菜鳥們破了就行。其他的聽天由命
基本贊同。
你在用戶端限制的還是服務端限制的?
伺服器端啊,php 正則如果發現不是我允許的字元出現,直接提示有特殊字元,不會dql,也不會給這些特殊字元注入的機會,
既然是伺服器端驗證,只要驗證到位,應該沒問題了~~~
新手路過學習
你判斷參數時候已經是在做防注入工作了.
關注,好多國內開源系統隨便注入,但是像drupal就不行了,完全是資料庫抽象層,沒法注入
------------------------------------------------------ AutoCSDN簽名檔------------------------------------------------------
碼農場——碼農播種代碼、放牧思想的農場!
我感覺嘛 註冊登入的時候進行驗證只是能防止出現萬能密碼這種東西 類似注釋掉SLQ後邊的判斷語句啥的.. = = 網站注入更多的還是網頁傳參
用PDO 吧,嚴格 按照格式來,那麼你就不用擔心 注入了
樓主理解的防sql注入的方式太片面化了,特殊字元轉義和參數的強校正都屬於防sql注入的手段。兩者配合效果才好。
使用者提交的請求,過濾非法字元。
16#絕對正確
防注入啊,防什麼的!都是防君子不防小人的!
你這樣是直接在用戶端上進行判斷嗎?要是在用戶端上做判斷的話,先不說在用戶端上做判斷安不安全,用戶端做判斷用JS,別人可以在用戶端上設定JS指令碼不載入,不執行JS!你的判斷形同虛設,如果你用伺服器端你還是要做SQL注入
有的時候不要太片面,防SQL注入的存在就有他存在的意義,在用戶端上做單一判斷只會讓你的資料庫崩潰,用戶端是使用者唯一的路徑也是最危險的SQL出口,一般都是在用戶端上進行一次過濾,在SQL上在防止一次SQL注入