从前端角度看ajax如何保护接口的安全性
一、前言 在web中,使用Ajax调用API,撇开跨域不讲,怎么做安全验证,防止别的网站调用呢?假设没有做安全保障,任何用户都可以直接访问接口,这回暴露出极大的安全隐患。 二、后端怎么做? 1、一些接口强制用户必须登录,通过查看sessionId来做判别,没登录则不返回数据或者返回401或者403; 2、cookie校验+session; 3、通过判断refer,限制只允许某些域名下访问; 4、直接限制ip,简单粗暴; ? ? ? ?5、签名加密参数,不过会增加服务器负载 以上我理解的可能过于片面,真正的后端已经要进行更多的校验; 三、前端可以怎么做? 主要是考虑身份认证 1、请求头添加token $.ajax({ type: "GET",url: "XXXXX",beforeSend: function(request) { request.setRequestHeader("token","*********"); },success: function(result) { } }); 2、token怎么来?
下面是看网上的别人设计的,其实看具体设计了。 token = md5(IP + 随机数 + 时间戳 + UID + 秘钥);//这个秘钥最好随着版本更换 ? --------------------------------------以后想到再慢慢加了---------------------------------------- ?参考: http://blog.jobbole.com/99816/ https://segmentfault.com/q/1010000002500378/a-1020000002502912 https://segmentfault.com/q/1010000006185859 https://www.v2ex.com/t/109392 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |