1.Session检查防止攻击:
function checkusersession(){
$sid = cookie('sid');
if($sid === null)
{
$obj['result'] = -1;
echo json_encode($obj);
exit();
}else{
$redis = GetRedisConnect();
$userdata = $redis->hGetAll('s:'.$sid);
}
if( !($this->debugType) && ((!$userdata) || ($userdata['userid']<0)))
{
$obj['result'] = -2;
echo json_encode($obj);
exit();
}
return $userdata;
}
客户端登录成功后服务端会返回sessionid,接口请求方法中调这个可以加强接口安全,效果与md5加密处理字符串等效,主要是来验证客户端是否是我们的客户端请求接口,防止接口暴露后被攻击。2.Md5加密防止攻击:
$account = I('get.name','','trim') ;
if ( $account ) {
$md5account = md5($account.md5($account).'mobile_client_use') ; //加密认证,防止被恶意攻击,admin的加密串,9d6fd442b83e8585425171c0218d107f
if ($md5account == I('get.md5name','','trim')){
//功能代码实现部分
}}
3.两种方法实现安全处理效果基本一样,主要是防止接口或者网站链接地址暴露后,站点被恶意攻击。