用户验证方案

一、使用HTTPS 协议

HTTPS 协议:是“HTTP协议” 和 “SSL/TLS协议”的组合。HTTP的安全版。其实就是一个安全通信通道,基于HTTP开发,用于在客户计算机和APP后台之间交换信息。使用安全套接字层进行信息交换。

SSL(1999年之前):安全套接层       TLS(1999年SSL协议标准化之后):传输层安全协议  两者可以视为同一个东西的不同阶段

二、基本的用户登录方案

传统Web网站使用Cookie+Session保持用户的登录状态

APP 后台登录方案:

1、用户第一次输入账户密码登录之后,服务器为其提供一个钥匙

2、以后用户每次需要进入直接使用钥匙。

3、用户决定外出一段时间,咋把钥匙交换服务器销毁。

转换成计算机中,用户拿到钥匙的操作:

当用户拿到钥匙之后,将钥匙保存起来,下次再进行登录的时候,将token (钥匙)值传递给服务器,服务器查找用户ID所匹配的token ,对比相同,则允许用户进入

当用户退出登录的时候,APP后台把这个用户对应的Token字符串删除  销毁钥匙

弊端:身份验证依赖token,一旦用户泄露了URL,获取token,就相当于获取到了钥匙。

三、APP通信安全

1、URL 签名

身份验证是依赖于token字符串,如果用户泄露了自己的URL,那么token也会被黑客窃取  使用。  (在网络上传播token的方案)

URL签名就是不在网络上传播token的方案

形成新的sign = md5("test.com/user/info?token=dklfj92fs2uvl") = xxxxxxxxxxxxxxxxxxxxxxx;

于是,API请求后加上URL签名sign和用户ID就可以使token不需要附在URL上

后台就会根据这个URL 后,根据相对应的算法获取到token,发现token和数据库里用户ID 相对应的token相同,表示验证通过

URL 签名的验证流程图

2. url签名的不足之处

  url签名有两个缺点:

  1.当用户第一次登录后token是明文返回,有被截取的风险

  2. url签名只能保护token值却没法保护其他敏感数据,例如,当用户更新自己的个人信息时,所有的信息在传输过程中应该是被加密的.

AES加密,

整个过程如下:

1、用户名密码 + https + url签名(url+时间戳+随机字串)链接+请求时间+保唯一的字串
2、服务器返回token:aes(约定算法)=》(token+随机secret(就取上面那个签名中的16位))
3、app保存token后,以后每次机通信都通过  aes (token + 内容)  传输

转自:http://blog.csdn.net/newjueqi/article/details/44177063。

时间: 2024-10-15 14:23:38

用户验证方案的相关文章

Linux多安全策略和动态安全策略框架演示验证方案及结果分析

3演示验证方案及结果分析3.1演示验证方案3.1.1验证目标 该方案主要用于验证采用Flask体系结构实现的SELinux对系统的防护过程及相应的防护原理.3.1.2验证环境 操作系统:启用了SELinux的centos6.3 内核版本:2.6.32-279.e16.i686 策略类型:targeted 策略版本:policy.24 必要的软件包:setools.policycoreutil3.1.3技术原理 由于targeted策略只对网络服务进行保护,因此该验证场景就以www服务器为例来说明

15.app后端怎么设计用户登录方案

在很多app中,都需要用户的登录操作.登录,就需要用到用户名和密码.为了安全起见,暴露明文密码的次数越少越好.怎么能最大程度避免泄露用户的密码呢?在登录后,app后端怎么去验证和维持用户的登录状态呢?在本文中,给出了一套用户登录的解决方案,以供大家参考. 1. 保证登录的安全性,最起码要使用https协议 避免信息的泄露,最简单的方案是所有涉及到安全性的api请求,都必须要使用https协议. HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议

Spring Security框架下Restful Token的验证方案

项目使用Restful的规范,权限内容的访问,考虑使用Token验证的权限解决方案. 验证方案(简要概括): 首先,用户需要登陆,成功登陆后返回一个Token串: 然后用户访问有权限的内容时需要上传Token串进行权限验证 代码方案: Spring MVC + Spring Security + Redis的框架下实现权限验证,此文重点谈谈Spring Security下的Token验证实现. 首先,看看spring security的配置: <http pattern="/service

中小公司员工统一用户认证方案(视频版)

QIANYAN/前言 前段时间发了一篇:中小公司统一用户认证方案 的技术贴,也是一篇实用性文章,很多程序猿都在关注,不少童鞋在后台询问后续内容是否出来.呼声很高的视频版终于出来啦,希望对大家有所帮助哦. SHIPIN / 视频 视频链接:http://pan.baidu.com/s/1bIuuku 密码:ivdl (请在wifi环境下观看哦) NEIRONG /内容 分享的主题:OpenLDAP 企业应用 分享的内容: 公司为什么需要统一用户认证? 解决用户统一认证都要干哪些事? LDAP 都存

**15.app后端怎么设计用户登录方案(API权限安全)

在很多app中,都需要用户的登录操作.登录,就需要用到用户名和密码.为了安全起见,暴露明文密码的次数越少越好.怎么能最大程度避免泄露用户的密码呢?在登录后,app后端怎么去验证和维持用户的登录状态呢?在本文中,给出了一套用户登录的解决方案,以供大家参考. 1. 保证登录的安全性,最起码要使用https协议 避免信息的泄露,最简单的方案是所有涉及到安全性的api请求,都必须要使用https协议. HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议

ASP.NET与ASP.NET Core用户验证Cookie并存解决方案

在你将现有的用户登录(Sign In)站点从ASP.NET迁移至ASP.NET Core时,你将面临这样一个问题——如何让ASP.NET与ASP.NET Core用户验证Cookie并存,让ASP.NET应用与ASP.NET Core应用分别使用各自的Cookie?因为ASP.NET用的是FormsAuthentication,ASP.NET Core用的是claims-based authentication,而且它们的加密算法不一样. 我们采取的解决方法是在ASP.NET Core中登录成功

MVC WebApi 用户验证 (2)

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(66)-MVC WebApi 用户验证 (2) 前言: 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(65)-MVC WebApi 用户验证 (1) 回顾上一节,我们利用webapi简单的登录并进行了同域访问与跨域访问来获得Token,您可以跳转到上一节下载代码来一起动手. 继续上一篇的文章,我们接下来演示利用拿到的Token来访问接口,管理接

apache的相关设置-给目录或者文件设置用户验证

给目录或者文件设置用户验证 再对应的主机配置文件中加入如下配置: <Directory /data/www/admin.php>    AllowOverride AuthConfig    AuthName "The administrator authentication!"    AuthType Basic    AuthUserFile /data/.htpasswd    require valid-user</Directory> Director

Oracle 用户验证日志

1.sysdba/sysoper 权限用户验证日志;2.非sysdba/sysoper 权限用户验证日志;3.关于sqlcode; 1.sysdba/sysoper 权限用户验证日志:在数据库设置了参数 audit_sys_operations=true 的情况下,系统会根据 audit_trail 参数的设置记录 sysdba/sysoper 权限用户日志到 audit_file_dest 参数设置的目录下,记录日志的内容包括(数据库启动操作.登录验证信息.DML操作),其它非 sysdba/