
API 设计/安全/架构
文章平均质量分 68
接口安全,调用,重复提交等
兮家小二
傻傻的小男孩,qq:1720696548 wx:1720696548
展开
-
获取 postman 的 token
作用我这里获取 postman 的 token 的主要目的是 idea插件 easyapi 生成接口文档使用获取1、打开 postman 个人中心2、选择API keys3、点击生成原创 2022-05-05 10:16:44 · 2403 阅读 · 0 评论 -
springboot 使用 JSR 303 进行参数验证
一、JSR 303 是什么?JSR-303 是 Java EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是hibernate Validator。二、JSR 303 能做什么?1.JSR 303 用于对java Bean 中的字段的值进行验证,使得基本的验证逻辑可以从业务代码中脱离出来。2.是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。...原创 2020-04-08 00:43:16 · 678 阅读 · 0 评论 -
API 权限管理 之基于Aop 实现用户的 URL权限管理
一、数据库及表关系设计有对此示例模板感兴趣的可以参考源码,欢迎start个人后台管理项目gitee:https://gitee.com/wslxm/spring-boot-plus21、权限表(本篇重点)pid = 父级,也就是方法指定类的权限id, 构建类与方法的层级关系CREATE TABLE `t_admin_authority` ( `id` int(11) NOT NUL...原创 2020-01-15 00:12:31 · 835 阅读 · 0 评论 -
API 安全之接口验签(后台验签 + 前台加签)
一、后台验签1、后台验签工具类接口验签方法:Map<String, String> verifyMap = SignUtil.toVerifyMap(request.getParameterMap(), false);SignUtil.verify(verifyMap)前端加签规则:签名参数字符串“参数=参数值”&链接后台加签方法:String signStri...原创 2020-01-12 15:27:54 · 3931 阅读 · 0 评论 -
安全架构之网关ip 黑名单设计,及接口数据验签
一、zuul 网关拦截器1、处理流程// 1.获取ip地址// 2.查询数据库黑名单// 3.将ip地址传递到转发服务中 ctx.setSendZuulResponse(false); 设置为false 将无法转发到具体服务// 4.外网传递参数验证// 5.xss 攻击sql注入处理2、blacklist数据表 核心字段 **ip** 黑名单ip **state...原创 2020-01-10 09:53:05 · 3043 阅读 · 1 评论 -
统一格式返回工具类 BaseApiService 及全局异常捕获
1、统一返回格式字段如:{“rtnCode”:500,“msg”:“系统错误!”,“data”:null}{“rtnCode”:200,“msg”:“success”,“data”:{“appId”:“yushengjun”,“appName”:“mayikt”}}@Datapublic class BaseResponse<T> { private Integer rt...原创 2020-01-03 09:43:56 · 741 阅读 · 0 评论 -
接口细分安全领域 DTO 与 DO 与VO(及工具类)
1、DTO与DO关系VO 对应于页面上需要显示的数据(表单),DO 对应于数据库中存储的数据(数据表),DTO 对应于除二者之外需要进行接口形式传递的数据(传递参数)。传统方式1、项目太小,对于一种业务实体,封装成一个DO就够了。2、并不熟悉DTO、VO,更不知道他们之间的区别。3、了解DO\DTO\VO之间的区别,但是懒得用。DTO 又分为out ,inoutput.dto, ...原创 2020-01-03 09:33:55 · 1777 阅读 · 0 评论 -
API 安全之抓包工具Flidder,篡改请求数据和响应数据
抓包工具原理是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器Fiddler 简介fiddler是一款功能强大的抓包工具,在测试web安全性,查看请求数据或者头文件的时...原创 2019-12-05 11:50:56 · 1359 阅读 · 0 评论 -
API 安全之 Https 请求 ,及申请阿里云SSL 证书,和Nginx 配置Https
一、Https、SSL等的了解及流程1、传统Http协议弊端传统Http协议弊端是明文的,如果别人采用抓包分析可以获取到明文数据。2、什么是Https协议HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL;我们知道HTTP通讯时,如果客户端C请求服务器S,那么可以通过网...原创 2019-12-05 11:42:14 · 1448 阅读 · 0 评论 -
API安全之 - 对称加密,非对称加密,令牌加密
一、对称加密1、对称密码技术描叙1、发件人和收件人使用其共同拥有的单个密钥 ,这种密钥既用于加密,也用于解密,叫做机密密钥(也称为对称密钥或会话密钥)。2、 能够提供信息机密性(没有密钥信息不能被解密)、完整性(被改变的信息不能被解密)的服务。3、对称式密码学又称:单钥密码学、秘密密钥密码学、会话密钥密码学、私钥密码学、共享秘钥密码学如下:假设Alice和Bob是认识的,两人为了保证通...原创 2019-12-04 19:15:51 · 932 阅读 · 0 评论 -
API 之 URL 链接参数携带特殊字符转码
一、URL 参数特殊字符说明不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。二、URL 特殊参数产生的问题,如下定义方法访问,传入 + 参数...原创 2019-12-04 17:28:39 · 2406 阅读 · 0 评论 -
API 开放接口设计之 appId,appSecret,accessToken (同微信开发平台接口)
一、开放接口设计说明:为每个合作机构创建对应的appid、app_secret,生成对应的access_token(有效期2小时),在调用外网开放接口的时候,必须传递有效的access_token。如:微信公众号开发调用微信接口二、数据库表设计App_Name 表示机构名称App_ID 应用idApp_Secret 应用密钥 (可...原创 2019-12-03 22:01:33 · 13199 阅读 · 10 评论 -
API安全之 - 忘记密码漏洞 / 文件上传漏洞
一、忘记密码漏洞黑客使用抓包工具分析Http请求,在忘记密码找回时,需要发送一套短信验证码,如果验证码数字比较短的话,很容易使用暴力破解方式攻击破。如:验证码是4位数的存数子,先发送短信,然后在使用httpclient 不停的重复尝试,如果相同了,破解成功4位数,0000到9999, for循环10000次模拟请求就能轻松破解出密码如何防御:1、忘记密码的短信验证码最好在6位,和使用...原创 2019-12-03 16:50:55 · 639 阅读 · 0 评论 -
API安全之 - SQL 注入攻击
一、什么是SQL注入SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的作。造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码SQL注入防攻击手段不要使用拼接SQL语句方式、最好使用预编译...原创 2019-12-03 12:05:16 · 1509 阅读 · 0 评论 -
API安全之 - XSS 攻击,及防御 XSS 攻击
一、什么是XSS攻击XSS攻击使用Javascript脚本注入进行攻击例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端。二、XSS 攻击应用场景表单提交后页面展示的地方1、api 接口携带 <script> 参数,返回页面输出展示参数2、如评论回复,评论 <script>alert('sss')</s...原创 2019-12-03 11:38:59 · 1308 阅读 · 0 评论 -
http状态码 ,rpc远程调用 ,静态资源防缓存,防盗链 ,重定向原理及使用,https 和http的区别
maven 依赖 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore --> <dependency> <groupId>org.apache.httpcomponents</groupId> <art...原创 2019-04-28 14:19:35 · 1460 阅读 · 0 评论 -
接口跨域访问完全解决方案(java五种跨域解决方案)
1.使用jsonp解决网站跨域2.使用HttpClient内部转发3.使用设置响应头允许跨域4.基于Nginx搭建企业级API接口网关5.使用Zuul搭建微服务API接口网关(暂不说明)一、使用JSONP缺点:不支持post请求,代码书写比较复杂ajax 改为jsonpdataType : "jsonp"jsonp : "jsonpCallback"type : "GET...原创 2019-04-30 09:57:34 · 17699 阅读 · 8 评论 -
接口幂等性处理(表单重复提交--简单处理)
前端处理点击提交按钮后置灰提交按钮,让其只可以点击一次无法防止回退在提交无法防止浏览器刷新按钮重复提交此行为后端处理生成的唯一token,<input type="hidden" name="token" th:value="${token}">html<!DOCTYPE html><html lang="en" xmlns:th="http://w...原创 2019-08-31 19:21:02 · 1403 阅读 · 0 评论 -
java -- 百度API 接口使用
API 地址: https://console.bce.baidu.com/?fromai=1#/aip/overview创建应用后获得 API Key – Secret Keytoken 获取package com.example.demo;import java.io.BufferedReader;import java.io.InputStreamReader;impor...原创 2019-06-29 10:27:46 · 6238 阅读 · 0 评论 -
随机图片API
风景随机图:http://pic.tsmp4.net/api/fengjing/img.php女神随机图:http://pic.tsmp4.net/api/nvsheng/img.php影视随机图:http://pic.tsmp4.net/api/yingshi/img.php二次元随机图:http://pic.tsmp4.net/api/erciyuan/img.php二次元随机图:ht...原创 2019-06-29 17:52:32 · 14667 阅读 · 9 评论 -
接口幂等性处理(接口重复调用 || 表单重复提交 || 防止csrf 攻击)
幂等性: 接口重复调用(http延时机制) 及 表单重复提交项目demo:链接:https://pan.baidu.com/s/18Ms89ocR-1mWFDV_NNeM2w提取码:locz效果展示:访问 /test 每次调用生成唯一token提交form删除唯一token,点击刷新按钮防止了重复提交问题远程rpc接口同理,token 放入 http 请求头在此处判断是...原创 2019-04-27 23:15:53 · 4890 阅读 · 0 评论