APP接口设计安全问题

我的问题是,如果不做安全相关处理的话,一些可能改变数据库的操作可能会遭遇垃圾数据提交什么的,毕竟要找到这些信息只要找个http包就可以了

系统无用户登录

新手问题(从来没做过服务端开发),如果可以,给几个主流方法的链接,多谢

直观总结方法二:

1.请求头里带用户username和password,到服务器端做验证,通过才继续下边业务逻辑。
有点:防止了服务器端api被随意调用。
缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。

2.第一次请求,要求username和password,验证通过,种cookie到客户端,app保存cookie值。
每次请求带上cookie。
点评:和pc上浏览器认证的原理一样了。

以上两点,只有注册用户,才能有权访问业务逻辑,而app有大量的不需要注册数据api

3.制定一个token生成规则,按某些服务器端和客户端都拥有的共同属性生成一个随机串,客户端生成这个串,服务器收到请求也校验这个串。
缺点:随机串生成规则要保密。
比如:一个使用php框架的工程,框架每次交互都会有 module和action两个参数做路由,这样的话,我就可以用下边这个规则来生成token

app要请求用户列表,api是“index.php?module=user&action=list”
app生成token = md5sum ('user'.'2012-11-28'.'#$@%!'.list) = 880fed4ca2aabd20ae9a5dd774711de2;
实际发起请求为 “index.php?module=user&action=list&token=880fed4ca2aabd20ae9a5dd774711de2”

服务器端接到请求用同样方法计算token,

<?php
$module = $_GET['module'];
$action = $_GET['action'];
$token = md5sum($module.date('Y-m-d',time()).'#$@%!*'.$action);
if($token != $_GET['token']){
    alarm('access deny');
    exit();
}
?>

先提这三个,都在项目中用过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: APP详细设计文档模板是用于记录APP开发过程中各个模块的设计细节的文档。它通常包含以下几个部分: 1. 引言:简单介绍APP的背景和目标,包括项目的背景和概述、目标用户、功能特点等。 2. 系统架构:描述APP的整体结构,包括各个模块的关系和功能划分,以及数据流向等。 3. 功能模块设计:详细描述每个功能模块的设计,包括输入、输出、算法、界面设计等。可以使用流程图、状态图等工具来展示功能模块的流程和交互。 4. 数据库设计:如果APP需要使用数据库存储数据,需要详细设计数据库的结构和关系,包括表的字段、索引、关联关系等。 5. 用户界面设计:详细描述APP的用户界面设计,包括各个界面的布局、按钮和控件的功能和交互等。 6. 性能优化:描述APP在性能方面的设计和优化策略,包括响应时间、内存占用、网络请求等优化措施。 7. 安全设计:描述APP安全方面的设计,包括用户身份验证、数据加密、权限控制等安全机制。 8. 接口设计:如果APP需要与其他系统或服务进行交互,需要详细描述接口设计和使用方式。 9. 测试计划:详细描述APP的测试策略和计划,包括功能测试、性能测试、安全性测试等。 10. 部署方案:描述APP的部署和发布方式,包括服务器需求、配置要求、发布流程等。 通过使用APP详细设计文档模板,可以帮助开发团队更好地了解和把握系统的需求和设计,提高开发效率和质量,并方便后续的维护和升级工作。 ### 回答2: App详细设计文档模板通常包括以下几个部分: 1. 引言:简要介绍App的目的、背景和范围,说明设计文档的目标和约束条件。 2. 需求分析:详细描述App的功能需求,包括用户需求、系统需求以及非功能需求,如性能要求、安全需求等。 3. 架构设计:展示App的整体架构,包括组件和模块的划分以及它们之间的关系和交互。可以使用UML图表等方式来进行描述。 4. 数据库设计:描述App所需的数据库结构,包括表的设计、字段定义、关系等。可以使用ER图或数据库表结构图来进行说明。 5. 用户界面设计:展示App的用户界面设计,包括各个页面的布局、交互和样式。可以使用原型设计工具或界面截图来进行说明。 6. 功能模块设计:详细描述各个功能模块的设计,包括模块的职责、接口、算法等。可以使用流程图或类图来进行说明。 7. 接口设计:描述App与外部系统、服务或组件的接口设计,包括数据交互格式、协议和通信方式等。 8. 安全设计:阐述App安全设计,包括身份验证、敏感数据保护、漏洞预防等。 9. 性能设计:描述App的性能设计,包括响应时间、并发处理能力、资源消耗等方面的设计考虑。 10. 测试策略:说明App的测试策略和方法,包括单元测试、集成测试和系统测试等。 11. 部署与运维:描述App的部署方式和运维需求,包括服务器配置、备份策略、监控等。 12. 参考文献:列出本设计文档所参考的相关文献、资料和工具。 以上是App详细设计文档模板的一般内容,根据实际项目需要可以进行适当的调整和补充。 ### 回答3: APP详细设计文档模板通常包括以下几个部分: 1. 引言:介绍APP的背景和设计目的,描述该APP的目标用户群体和解决的问题。 2. 系统架构:详细说明APP的整体架构和模块划分,包括前端和后端的组件和模块,以及它们之间的交互流程。 3. 功能需求:列出APP的功能需求清单,包括用户登录、注册、浏览、搜索、下单等功能的详细描述。对于每个功能,还应包括输入、输出和流程图等详细说明。 4. 数据库设计:描述APP所需的数据库结构,包括数据库表的设计和关系,以及数据字段的定义和约束。 5. 用户界面设计:包括APP的页面布局、颜色、字体、图标等设计要求,以及每个页面的功能和交互流程描述。 6. 接口设计:描述APP与外部系统进行交互的方式和接口规范,比如与支付平台的支付接口、与社交媒体的分享接口等。 7. 安全设计:描述APP安全性要求和措施,包括用户身份验证、数据加密、访问控制等安全措施的设计原则和实现方法。 8. 性能优化:描述APP的性能要求和优化策略,包括数据库访问的优化、页面加载速度的优化、接口响应时间的优化等。 9. 测试计划:描述APP的测试策略和测试计划,包括功能测试、性能测试、安全性测试等的具体方案和要求。 10. 部署计划:描述APP的部署和发布计划,包括服务器环境的需求、代码发布的流程和更新策略等。 以上是APP详细设计文档模板的主要内容,可根据实际项目需求进行适当的调整和补充。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值