作者kencool107 (臉都歪了)
看板PHP
標題[請益] 如何確保post是安全的
時間Mon Oct 1 17:37:08 2012
如題
今天我做的網頁被別人用post攻擊了
上面有關一些金錢的資訊
我接收端有做REFFER的Check
似乎還是不夠
利用Md5+key做驗證碼
可是別人只要開網頁原始碼
複製一模一樣的驗證碼 到我這邊還是會驗證通過
到底要怎麼樣做
才能防止人家寫form來post到我的網站
不可能鎖Client端IP
因為那是讓使用者來請求服務的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.110.133
1F:→ terrybob:為什麼驗證碼可以從網頁原始碼取得? 10/01 17:41
2F:→ kencool107:不是會hidden在input裡面傳到接收端做驗證嗎 10/01 17:50
3F:推 mervynW:把你大概流程說一說吧 10/01 18:31
網頁的內容大概就是使用者會選擇金錢
設定是下拉式選單
然後post到後端扣錢
我發現有使用者自己帶 負數 金錢
這樣 -(-100)就變成 +100
發現後我把負數這個可能性給去掉了
可是我覺得這是治標不治本
人家還是可以自己寫東西post到我的後端
可是我卻擋不住他
※ 編輯: kencool107 來自: 60.248.110.133 (10/01 18:41)
4F:推 davidou:檢查Valve有沒有+-*/阿 有就取代或返回錯誤就好 10/01 18:51
5F:→ MOONRAKER:這就檢驗再檢驗吧 記得絕對不要把form取出的東西直接放 10/01 18:51
6F:→ MOONRAKER:到SQL裡 可以用陣列對應 只有對應到的東東才合法 10/01 18:53
7F:推 LaPass:regexp很好用的 10/01 19:35
8F:推 alpe:哪來送一個9^30 不知道會發生怎樣的事? XDD 10/01 21:11
9F:→ alpe:沒法檔, 你只能好好檢查. 10/01 21:30
10F:推 carlcarl:"不可能" 你就只能好好做過濾 10/02 00:05
11F:推 rockmanalpha:如果金鏄數值回定的話 以充值卷的形式在資料庫做吧 10/02 02:56
12F:→ rockmanalpha:以充值卷ID對應資料庫中的金額 而不是直接POST金額 10/02 02:57
13F:→ kencool107:我了解了 就是不把敏感的資訊輕易地放在html裡面 10/02 09:39
14F:→ bibo9901:不, 應該是「不輕信client傳來的任何資訊」 10/02 21:22
15F:→ alog:你的系統運作的可能有瑕疵,你是無法阻止Client端偽造資料的 10/03 11:53