看板 PHP 關於我們 聯絡資訊
大家好! 小弟最近剛學php 最近問卷資料庫發現姓名欄位一堆嘗試輸入,像是etc\password C:\windows或是\.\\\.. 等, 於是想要弄一個輸入前先過濾有沒有奇怪字元像是/;~等 目前就只有想到笨的方法 就是一一讀出來再判斷有沒有那些字元 可是讀取到:這個時候 如果是輸入純: 可以判斷出來 但是C:像這種就無法反而會以0值存在資料庫 由於input欄位是姓名所以中英可以接受 但是要怎麼過濾其他符號呢? 有沒有其他方法 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.254.193 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1484683031.A.C4F.html ※ 編輯: andysleep (218.166.254.193), 01/18/2017 04:06:53
secondDim: 關鍵字 正規表示法 preg_match 01/18 08:27
tkdmaf: 這你在前端就該先用js過濾第一次 01/18 08:49
tkdmaf: 到了後端不管如何都一定要做第二層的表單資料過濾 01/18 08:50
tkdmaf: 然後用pdo在進資料庫之前做第三次處理 01/18 08:50
tkdmaf: 感覺看起來就是一堆人想攻擊你的網站 01/18 08:51
andysleep: 好 謝謝解答 01/18 12:48
GALINE: 我想起有公司叫做 ; DROP TABLE "COMPANIES";-- LTD 01/20 15:54
MOONRAKER: xkcd也有一回 學校打電話到家裡問你們的小孩是不是叫 01/21 15:18
MOONRAKER: "Robert; drop table students" 01/21 15:19
GALINE: http://xkcd.tw/327 01/23 14:29