关于http接口防止非法调用的设计方案

简介:

关于http接口防止非法调用的设计方案

 

假设有个http接口:

http://www.a.com/getBlog.jsp?uid=12 


其他系统要调用这个接口取数据:

如果不做安全处理,任何系统只要知道接口地址和参数即可调用。很可能造成非法调用,造成安全问题。

为了安全,可以考虑如下方案:

接口调用时增加一个校验参数:如 mcheck=xxxxxx


http://www.a.com/getBlog.jsp?uid=12&mcheck=xxxxxx

校验参数生成规则 假设如下:

  md5(uid+"javaboy2012")

参数为uid和某个约定的字符串 经过md5编码后的值。


调用时候:按照生成规则编码后作为参数传递给接口,


http://www.a.com/getBlog.jsp?uid=123&mcheck=8C4E954B6DBD860517B68FAEF37C87CB


借口根据相同的编码规则作判断

getBlog.jsp 文件内容:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.yanek.util.MD5"%>
<%
String uid=request.getParameter("uid");
String mcheck=request.getParameter("mcheck");
String commonkey="javaboy2012";
MD5 md5=new MD5();
if (md5.getMD5ofStr(uid+commonkey).equals(mcheck))
{
   out.print("成功调用,返回合法数据:!"+uid+"的数据");
}
else
{
 out.print("非法调用");
}

%>

 

目录
相关文章
|
7月前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
633 2
|
7月前
|
DataWorks 大数据 API
DataWorks RunTriggerNode接口是只能调度 http触发器节点吗?
DataWorks RunTriggerNode接口是只能调度 http触发器节点吗?
180 1
|
7月前
|
算法 API UED
基于Gin框架的HTTP接口限速实践
基于Gin框架的HTTP接口限速实践
160 0
|
7月前
|
JSON 搜索推荐 网络协议
玩转curl指令—测试简单的HTTP接口
玩转curl指令—测试简单的HTTP接口
304 0
|
19天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
2月前
|
JSON Java fastjson
Java Http 接口对接太繁琐?试试 UniHttp 框架吧
UniHttp 是一个声明式的 HTTP 接口对接框架,旨在简化第三方 HTTP 接口的调用过程。通过注解配置,开发者可以像调用本地方法一样发起 HTTP 请求,无需关注请求的构建和响应处理细节。框架支持多种请求方式和参数类型,提供灵活的生命周期钩子以满足复杂的对接需求,适用于企业级项目的快速开发和维护。GitHub 地址:[UniAPI](https://github.com/burukeYou/UniAPI)。
|
6月前
|
安全 API 持续交付
阿里云云效产品使用问题之如何从流水线访问内网平台的HTTP接口
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
263 3
快速上手|HTTP 接口功能自动化测试
|
2月前
|
Java 数据处理 开发者
Java Http 接口对接太繁琐?试试 UniHttp 框架~
【10月更文挑战第10天】在企业级项目开发中,HTTP接口对接是一项常见且重要的任务。传统的编程式HTTP客户端(如HttpClient、Okhttp)虽然功能强大,但往往需要编写大量冗长且复杂的代码,这对于项目的可维护性和可读性都是一个挑战。幸运的是,UniHttp框架的出现为这一问题提供了优雅的解决方案。
82 0