Re: [請益] php 發生 隱碼問題
※ 引述《qrtt1 (隱者)》之銘言:
: ※ 引述《ckmarkhsu (深藍站長)》之銘言:
: : php 也有此風險
: : 例如 SELECT userid FROM user WHERE username = $usernmae
: : 如果傳近來的值是 '' OR 1=1
: : 那就會出錯啦:P
: 用prepared statement, 大部分會escape掉
: (ex. PEAR::DB的prepare&execute或mysql本身的prepared statement)
: 瘋狂地檢查值域不對就退回
: 至少要有長度與字元集合的範圍檢查
: 只要是使用者端有辦法送字串過來的地方都check
: (好像有一點偏執狂xd)
: function id_checker($id)
: {
: $id = trim($id);
: if( regex_checker("/^([a-z][a-z\d]+)$/i", $id) && length_checker(6, 10,
: $id) )
: return true;
: return false;
: }
: function passwd_checker($passwd){
: $passwd = trim($passwd);
: if( regex_checker("/^([a-z\d]+)$/i", $passwd) && length_checker(4, 12,
: $passwd) )
: return true;
: return false;
:
之前看這篇沒有很懂上面意思
mysql本身的prepared statement不是比較安全嗎
不知道prepared statement實作是不是還把資料轉成sql 語法
如果是的話不過濾 當然也是有問題
書上說對 sql injection有比較安全不知道什麼意思
?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.120.127
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 10 之 10 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章