Re: [請益] php 發生 隱碼問題
※ 引述《ckmarkhsu (深藍站長)》之銘言:
: php 也有此風險
: 例如 SELECT userid FROM user WHERE username = $usernmae
: 如果傳近來的值是 '' OR 1=1
: 那就會出錯啦:P
: ※ 引述《justinC (無)》之銘言:
: : 像asp 很容易發生這類問題
: : 大多查到資料都是asp的
: : 雖然php 的預設都有把特殊字元slash掉
: : 難道就不會發生問題嗎?有php相關資料嗎
用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;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.20
推
04/06 14:04, , 1F
04/06 14:04, 1F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章