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