作者PTTLSboy (阿銫)
看板PHP
標題[請益] 資料庫處理可以寫在同一個.PHP嗎?
時間Fri Aug 10 10:56:45 2012
請問各位前輩們
我將會員新增、修改、刪除等等的資料庫處理寫進db_process.php
至於要做什麼事情用$_GET判斷action要做什麼(ex: db_process.php?action=會員新增
但是這樣有資安的問題在,誰都可以進這個db_process.php
即使我加入session的判斷也沒用,因為他只要來我的網站就可以取得session
然候自己再做一個簡單的HTML表單會員新增 <from action='我的網址/db_process.php'>
點擊後連到我的db_process.php,session那關它也通過了
請問各位前輩,有什麼解法嗎?
還是新增、修改等等處理全都寫在同一個db_process.php的寫法不對
謝謝看完!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.117.43
1F:推 KawasumiMai:不能用GET,要用POST 08/10 11:05
2F:→ KawasumiMai:送出的按鈕type=submit沒錯,但是id可以不用是submit 08/10 11:06
3F:→ KawasumiMai:修改按鈕的id設定edit 新增按鈕的id設定add 08/10 11:06
4F:→ KawasumiMai:自然就可以在裡面判斷if(isset($_POST[add]){ 08/10 11:07
5F:推 Fantasywind:無解,只要你沒有帳密驗證 隨便人你可以不要發session 08/10 11:20
6F:→ Fantasywind:K大 用POST我也可以自己送一樣的東西給他阿 08/10 11:20
7F:→ bibo9901:如果此次操作資料庫是合法的, 你又有什麼理由檔他? 08/10 11:22
8F:→ KawasumiMai:應該有一些方法防護,但是跟駭客間的攻防是無止盡的 08/10 11:31
9F:→ KawasumiMai:POST就一般使用者來說已經不太能知道變數名稱了 08/10 11:32
10F:→ KawasumiMai:有心人可能可以從中攔截,然後sql也得加函數防護 08/10 11:33
11F:→ KawasumiMai:再加上鍵盤側錄和字典搜索,恩... 08/10 11:33
12F:推 KawasumiMai:另外還有一招是你的POST加密儲存,讀取時解密 08/10 11:36
13F:→ KawasumiMai:當sql判定的都是加密文字時,單純的想送fake post 08/10 11:36
14F:→ KawasumiMai:沒有做加密動作,比對就會失敗 08/10 11:36
15F:→ KawasumiMai:當然你也可以說...常用的加密法就那幾種... 08/10 11:38
16F:推 Fantasywind:對阿永遠只能防君子 08/10 21:33
謝謝各位大大的回答呀~
to fan:因為是做會員註冊的,所以沒辦法判斷是不是隨便的人
to bio:怕被機器人一直新增資料,因為直接進來就不會被圖形辨證了
to kaw:對方可以在我的註冊頁原始碼複製一樣的表單,name也都拿到了
看來加密是相對好一點的方法:)
※ 編輯: PTTLSboy 來自: 123.0.232.61 (08/10 22:24)
17F:推 KawasumiMai:新増要驗證碼。修改要輸入原密碼。登入猜密碼。 08/11 02:15
18F:→ KawasumiMai:其實就算不加密。要破解也不容易。真取得密碼通過 08/11 02:17
19F:推 KawasumiMai:SESSION的話。其實他也不用自己建form了。用你的就好 08/11 02:19
20F:推 Fantasywind:註冊可以用email驗證,ip鎖定,圖形驗證碼等等 08/11 07:26
21F:推 ChowMein:圖形驗證碼會被跳過是程式沒寫好吧? 08/11 08:31
22F:→ arrack:要考慮到沒顯示圖片的情況,以及重複送出 08/11 09:14
23F:→ arrack:某些欄位的名稱,可以每次都隨機 08/11 09:14
24F:推 JeffMcBride:每個資料處理動作都要使用者token且綁定使用者資訊 08/11 11:58
謝謝各位,我的問題解決了!!
※ 編輯: PTTLSboy 來自: 123.0.232.61 (08/11 13:14)