关于http接口防止非法调用的设计方案
关于http接口防止非法调用的设计方案
假设有个http接口:
如 https://www.a.com/getBlog.jsp?uid=12
其他系统要调用这个接口取数据:
如果不做安全处理,任何系统只要知道接口地址和参数即可调用。很可能造成非法调用,造成安全问题。
。
为了安全,可以考虑如下方案:
接口调用时增加一个校验参数:如 mcheck=xxxxxx
https://www.a.com/getBlog.jsp?uid=12&mcheck=xxxxxx
校验参数生成规则 假设如下:
md5(uid+"javaboy2012")
参数为uid和某个约定的字符串 经过md5编码后的值。
调用时候:按照生成规则编码后作为参数传递给接口,
https://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("非法调用");
}
%>
最后更新:2017-04-04 07:03:45
上一篇:
实战:MySQL Sending data导致查询很慢的问题详细分析
下一篇:
poj 1258 Agri-Net MST
穿戴式医疗仪器电子再成产业焦点
HTAP数据库 PostgreSQL 场景与性能测试之 31 - (OLTP) 高吞吐数据进出(堆存、行扫、无需索引) - 阅后即焚(读写大吞吐并测)
totem播放列表中文乱码的修复
删除mongodb库
Objecitive-C中的nil
工信部信通院与阿里云合作,共同提升中国APP质量
[WCF安全系列]绑定、安全模式与客户端凭证类型:NetNamedPipeBinding、NetTcpBinding与NetMsmqBinding
微软将Bing变开放平台 同谷歌争夺开发者
Java网络教程之Socket
连载:面向对象葵花宝典:思想、技巧与实践(9) - “抽象类” 详解