2个回答
展开全部
即便用户输入了一些恶意的id参数,系统也会强制转换成整型,避免恶意注入。这是因为,系统会对数据进行强制的数据类型检测,并且对数据来源进行数据格式转换。而且,对于字符串类型的数据,ThinkPHP都会进行escape_string处理(real_escape_string,mysql_escape_string)。
而且,你在验证的时候尽量使用数组查询,这样会比较安全,比如:
$map['username']=I('post.name');
$map['userpassword']=I('post.password');
$list=$data=D("user")->where($map)->find();
这样就好了
而且,你在验证的时候尽量使用数组查询,这样会比较安全,比如:
$map['username']=I('post.name');
$map['userpassword']=I('post.password');
$list=$data=D("user")->where($map)->find();
这样就好了
展开全部
能,不要直接写sql.程序写的复杂一点
这是LoginAction.class.php文件
<?php
Class LoginAction extends Action{
Public function index(){
$this->display();
}
Public function login(){
if (!IS_POST) halt('页面不存在');
if(I('code','','md5') != session('verify')){
$this->error('验证码错误');
}
$username = I('username');
$pwd = I('password','','md5');
$user = M('user')->where(array('username' => $username))->find();
if(!$user || $user['password'] != $pwd){
$this->error('账号或密码错误');
}
if($user['lock'] ) $this->error('用户被锁定');
$data = array(
'id' => $user['id'],
'logintime' => time(),
'loginip' => get_client_ip(),
);
M('user')->save($data);
session(C('USER_AUTH_KEY'),$user['id']);
session('username',$user['username']);
session('logintime',date('Y-m-d H:i:s',$user['logintime']));
session('loginip',$user['loginip']);
if($user['username'] == C('RBAC_SUPERADMIN')){
session(C('ADMIN_AUTH_KEY'), true);
}
import('ORG.Util.RBAC');
RBAC::saveAccessList();
$this->redirect('Admin/Index/index');
}
Public function verify(){
ob_clean();
import('ORG.Util.Image');
Image::buildImageVerify();
}
}
?>
这是LoginAction.class.php文件
<?php
Class LoginAction extends Action{
Public function index(){
$this->display();
}
Public function login(){
if (!IS_POST) halt('页面不存在');
if(I('code','','md5') != session('verify')){
$this->error('验证码错误');
}
$username = I('username');
$pwd = I('password','','md5');
$user = M('user')->where(array('username' => $username))->find();
if(!$user || $user['password'] != $pwd){
$this->error('账号或密码错误');
}
if($user['lock'] ) $this->error('用户被锁定');
$data = array(
'id' => $user['id'],
'logintime' => time(),
'loginip' => get_client_ip(),
);
M('user')->save($data);
session(C('USER_AUTH_KEY'),$user['id']);
session('username',$user['username']);
session('logintime',date('Y-m-d H:i:s',$user['logintime']));
session('loginip',$user['loginip']);
if($user['username'] == C('RBAC_SUPERADMIN')){
session(C('ADMIN_AUTH_KEY'), true);
}
import('ORG.Util.RBAC');
RBAC::saveAccessList();
$this->redirect('Admin/Index/index');
}
Public function verify(){
ob_clean();
import('ORG.Util.Image');
Image::buildImageVerify();
}
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询