跨站请求伪造(CSRF),这样处理行吗?
本帖最后由 Martix 于 2017-3-18 10:44 编辑public function csrf_show_error() {
//ajax 请求判断
if(( ! empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest')){
header('Content-type:text/json');
echo json_encode(['status'=>-1,'message'=>'网络异常']);exit;
}
// target='blank'
$error = "网络异常,点击<a href=".$_SERVER['HTTP_REFERER'].">此处返回</a>";
show_error($error, 403);
}
在原来的基础上修改下提示,判断是不是ajax请求,保证返回正常的响应.
防 CSRF 攻击,最简单最暴力的方式就是验证 referrer
页:
[1]