先看手机号注册的流程
步骤如下:
(1)输入合法手机号,要求未注册;
(2)给该手机号发送短信注册码;
(3)输入手机收到的短信注册码;
(4)输入密码等
(5)完成注册.
现在有两个问题:
(a)必须要向手机号发送短信,才能注册吗?
是的,因为必须使用自己的手机才能注册.
如何验证是自己的手机呢?
如果是别人的手机,你能收到短信吗?
如果你能收到短信,就认为手机是你的,合法的.
(b)不发送短信,有没有办法注册成功
有.
如果注册接口没有限制,就可以尝试不同的短信注册码,这就是所谓的暴力破解
由上得出如下规则:
(1)只有发送了短信,才能调用注册接口;
如果没有发送短信,不允许调用注册接口
(2)调用注册接口,如果连续失败n次,则必须要求重新发送短信注册码
防止暴力破解
(3)如果注册成功,则清空注册失败次数
(4)30小时之后要求必须重新发送短信注册码
即短信注册码有时效性.
(5)"register_mobile" + mobile是干嘛的
就是用于判断是否发送过短信.
每次发送短信都设置"register_mobile" + mobile,每次注册时都判断"register_mobile" + mobile是否为空.
为空,说明没有发送短信或者短信已经过期,需要重新发
总结:
(a)发送短信和注册操作具有原子性.
所以需要联合校验
(b)所有安全方面的凭证(手机短信,otp等)必须设置过期时间
手机号换绑也需要防止暴力破解
场景:
别人在A电脑上登录了,我乘别人不在的时候,在A电脑执行换绑操作.
此时我虽然不能获取旧手机号的短信,但是我可以获取新手机号(新手机是我自己的)的短信
所以我可以不断的尝试,每次都使用不同的旧手机号短信
参考:
http://hw1287789687.iteye.com/blog/2264260
http://hw1287789687.iteye.com/blog/2264341
相关推荐
2. **.NET Framework**:C#代码通常运行在.NET Framework上,这是一个由微软开发的运行时环境,提供了许多系统级服务,如内存管理、安全性以及跨语言互操作性。 3. **System.Net命名空间**:在C#中,System.Net命名...
该工具不仅能够提供有关原子的信息,还能执行原子的电子分布计算,同时,它还具备网络接口,使得用户可以以网页的形式进行访问和交互,随时随地进行代码分析和相关操作。 “distribuidor-web”作为一个网络发行人,...
1. **DOM操作的原子性**:当多个脚本同时尝试修改DOM时,如果不使用原子操作,可能会导致数据不一致。JavaScript引擎通常会保证某些DOM操作的原子性,例如通过`document.getElementById`获取元素,或者使用`...
- **事务安全**:保证业务流程的一致性和原子性,防止半途失败导致的数据不一致。 - **访问控制**:实施细粒度的权限管理,限制对特定资源的访问。 - **安全通信协议**:使用HTTPS、TLS等协议提供端到端的安全通信。...
6. **事务安全**:确保业务流程的原子性和一致性,通过WS-AtomicTransaction和WS-BusinessActivity等标准来实现。 7. **隐私保护**:遵守数据保护法规,对用户数据进行匿名化或去标识化处理。 8. **安全日志和监控...
Buildroot 是构建嵌入式 Linux 系统的强大工具,它的易用性和灵活性使其成为许多嵌入式开发者的首选。通过正点原子的中文用户手册,开发者和爱好者可以更轻松地理解和应用 Buildroot,进一步提升开发效率和质量。...
在IT行业中,jQuery和CSS是两个非常重要的技术,它们在网页设计和开发中扮演着核心角色。本主题聚焦于"Jquery+CSS 原子插件 ...通过深入学习和实践,开发者可以创建出更多富有创意的原子插件,丰富Web世界的视觉表现。
这些操作必须满足ACID(原子性、一致性、隔离性和持久性)属性,以确保数据的正确性。原子性意味着事务是不可分割的,要么全部完成,要么全部回滚;一致性确保事务完成后,系统状态仍然有效;隔离性保证并发事务不会...
5. **事务处理**:对于需要原子性和一致性操作的场景,系统需支持事务处理。例如,银行转账操作必须保证即使在系统故障情况下也能正确完成。 6. **备份与恢复**:提供定期备份和手动备份功能,确保数据安全。在出现...
事务管理则可能涵盖WS-AtomicTransaction和JTA(Java Transaction API),确保Web服务操作的一致性和原子性。 第4章可能扩展到Web服务的互操作性和高级特性。互操作性是Web服务的核心特点,这里可能包括对RESTful ...
4. **通信协议**:选择合适的通信协议,如AT指令集,允许STM32通过UART向ESP8266发送命令进行网络操作。 5. **连接原子云**:ESP8266连接到选定的Wi-Fi网络后,STM32可以通过它与原子云建立连接,上传数据或接收云端...
在Web开发中,事务处理是关键,Oracle支持ACID(原子性、一致性、隔离性和持久性)属性,确保数据的一致性。 七、备份与恢复 定期备份数据库,防止数据丢失。Oracle提供物理备份(如RMAN)和逻辑备份(如EXPDP/...
Web SQL Database提供了事务处理,确保了操作的原子性和一致性。当多条SQL语句一起执行时,如果其中任何一条失败,整个事务都会回滚,保持数据的一致性。 虽然Web SQL在一些早期的移动设备上被广泛使用,但由于其非...
4. **事务处理**:支持ACID(原子性、一致性、隔离性和持久性)事务,保证数据操作的可靠性。 **四、anysql-websql的使用** 使用anysql-websql时,首先需要在项目中引入库,然后创建数据库连接,接着可以执行各种...
通过分析这些文件,我们可以进一步学习如何将CSS3动画与JavaScript相结合,创建出更复杂的交互式Web应用。 总的来说,这个“CSS3原子结构模型动画特效.zip”项目是一个很好的学习资源,它展示了CSS3的强大功能,...
- **WS-AtomicTransaction**:提供原子性的事务处理。 - **WS-Management**:为Web服务提供管理和监控的功能。 #### 四、标准化组织 - **OASIS (Organization for the Advancement of Structured Information ...
因此,理解并发控制算法(如乐观锁、悲观锁、两阶段提交等)以及ACID(原子性、一致性、隔离性、持久性)事务特性是必要的。 【监控和日志管理】 有效的监控和日志管理是保证分布式系统健康运行的关键。通过收集和...
3. **事务处理**:MySQL支持ACID(原子性、一致性、隔离性和持久性)事务,保证了数据库操作的可靠性。例如,在银行业务中,转账操作必须作为一个完整的事务处理,即使在系统故障时也能保证数据的一致性。 4. **...