那么,我再繼續深一步,剛才說到了數據庫。
我們保證了入庫前的所有變量必須是addslashes,但是,如果你不做下面的一件事。那么你再addslashes也是白搭
哪件事呢?
select * from table where id=$id
select * from table where id=I\'m
看,依然sql錯誤,而且還被注入
我舉例子
沒錯,單引號封閉,無論你是什么類型的字段
在Discuz!的規范里,必須都加單引號
select * from table where id='$id'
WHERE后面的所有條件
變量必須加單引號,這是規范。也許你少加一個,并不會產生漏洞,也只是也許。