即便用戶(hù)輸入了一些惡意的id參數(shù),系統(tǒng)也會(huì)強(qiáng)制轉(zhuǎn)換成整型,避免惡意注入。這是因?yàn)?,系統(tǒng)會(huì)對(duì)數(shù)據(jù)進(jìn)行強(qiáng)制的數(shù)據(jù)類(lèi)型檢測(cè),并且對(duì)數(shù)據(jù)來(lái)源進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。而且,對(duì)于字符串類(lèi)型的數(shù)據(jù),ThinkPHP都會(huì)進(jìn)行escape_string處理(real_escape_string,mysql_escape_string)。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的冀州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
而且,你在驗(yàn)證的時(shí)候盡量使用數(shù)組查詢(xún),這樣會(huì)比較安全,比如:
$map['username']=I('post.name');
$map['userpassword']=I('post.password');
$list=$data=D("user")-where($map)-find();
這樣就好了
樓上的sql語(yǔ)句要加上一些才行。
$sql="select?*?from??表?where?用戶(hù)名='{$_POST['user']}'?and?密碼='{$_POST['pass']}'";
$row=mysql_query($sql);
if(!empty($row)){
echo?"scriptalert('用戶(hù)名存在,不可以注冊(cè)')/script";
}else{
echo?"scriptalert('用戶(hù)名不存在,可以注冊(cè)')/script";
}
例
先將數(shù)據(jù)庫(kù)用戶(hù)表讀出來(lái) 讀到一個(gè)二維數(shù)組中
?php
$name?=?"趙五";
$data?=array(
array('id'='1','name'="張三",'sex'="女",'age'='12'),
array('id'='2','name'="李四",'sex'="男",'age'='16'),
array('id'='3','name'="王二",'sex'="女",'age'='14'),
array('id'='4','name'="趙五",'sex'="男",'age'='18'),
array('id'='5','name'="錢(qián)七",'sex'="女",'age'='11'),
);
//構(gòu)造方法
function?search($data,$name){
foreach($data?as?$k?=?$v){
if($v['name']==$name){
return?$data[$k];
}
}
}
var_dump(search($data,$name));
//得到結(jié)果
array(4)?{
["id"]=
string(1)?"4"
["name"]=
string(6)?"趙五"
["sex"]=
string(3)?"男"
["age"]=
string(2)?"18"
}
然后使用search()方法判斷? 如果存在name字段中就會(huì)輸出當(dāng)前name的數(shù)據(jù)