Re: [SQL ] SQL Injection
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《TonyQ (骨頭)》之銘言:
: : 是的,不過一般而言,
: : 我會這麼處理的都是不應該會出現'這符號的欄位,
: : ex.帳號密碼..在撰寫的時候就要求它不能輸入',
: : 雖然這些可以用JavaScript作頁面上的過慮,
: : 但是難防從網址上直接帶過來的參數闖關。
: 通常需要擔心這種東西的
: 大部分是帳號密碼之類的(當然其他的也不是不用顧慮啦)
: 簡單地說,這個時候用 POST 比較好
: (絕大多數時候,POST 都比較好)
: 不過,這已經離開這個版的討論範圍了
: : 程式語言的部份這是我知道的
: : 我想問的是單就SQL語法而言裡面有沒有特別處理的方式。
: : 因為我試過 \' 在SQL好像不吃。@0@
: 我記得標準 SQL 是用兩個 '' 來代表一個 '
: 針對你的問題,我的做法是,在組 SQL 句子的時候
: 就先把外來變數(相對於 SQL 句子)全部 replace 掉
寫一個自動登入也不分post不post壓
簡單sql injection
1. 猜到你table的結構,才能想辦法塞新的值進去
2. 或是令where後面的條件為真
簡單的防範,
1. 把debug information減到最少,這樣別人在try時,沒法看到表格的輪廓
2. 每一個user input的地方都有合理的字元集,不要什麼都不限制的吃下了
不要相信何任使用者是安全的,每一個可能input的地方都要過濾
不要以為你只有表單在input data,其他地方也有可能。
只要能觸發你函式接收資料的部分都算
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.105
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 11 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章