关于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("非法调用");
}

%>

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值