如何保证HTTP接口请求的安全呢?

在二家公司负责后台开发与APP接口开发。

那我们要如何对接口请求进行一个安全校验或者拦截非法请求呐?

1、选择拦截过滤器。

在请求的时候对请求方法进行一次拦截处理。比如非正常访问的方法已经注入插入可执行语句参数验证等在拦截中进行一次安全校验保证

请求不是非法请求。

2、数据加密。我们知道目前大部分APP接口都是通过Http协议进行调用的容易被抓包拦截。

我们可以对客户端和服务端都对数据传输的时候进行一个加密处理。常用的MD5 AES等。

譬如:上一个项目做法比较简单 对用户与帐号密码进行加密作为一个authcode。每次请求必须携带。这个方法与下边说的方法3组合运用

客户端:

    1、设置一个key(和服务器端相同)

    2、根据上述key对请求进行某种加密(加密必须是可逆的,以便服务器端解密)

    3、发送请求给服务器

服务器端:

    1、设置一个key

    2、根据上述的key对请求进行解密(校验成功就是「信任」的客户端发来的数据,否则拒绝响应)

    3、处理业务逻辑并产生结果

    4、将结果反馈给客户端


3、签名

 根据用户名或者用户id,结合用户的ip或者设备号,生成一个token。在请求后台,后台获取http的head中的token,校验是否合法(和数据库或者Redis中记录的是否一致,在登录或者初始化的时候,存入数据库/redis)

在使用Base64方式的编码后,Token字符串还是有20多位,有的时候还是嫌它长了。由于GUID本身就有128bit,在要求有良好的可读性的前提下,很难进一步改进了。那我们如何产生更短的字符串呢?还有一种方式就是较少Token的长度,不用GUID,而采用一定长度的随机数,例如64bit,再用Base64编码表示:

    var rnd = new Random();
    var tokenData = userIp+userId;
    rnd.NextBytes(tokenData);
    var token = Convert.ToBase64String(tokenData).TrimEnd('=');

由于这里只用了64bit,此时得到的字符串为Onh0h95n7nw的形式,长度要短一半。这样就方便携带多了。但是这种方式是没有唯一性保证的。不过用来作为身份认证的方式还是可以的(如网盘的提取码)。

4、使用第三方框架与技术整合支持比如spring的框架中的oauth模块。



  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数即服务(Function as a Service,简称FaaS)连接器接口请求是指在使用FaaS连接器时,向其接口发送请求实现特定功能或获取特定数据的操作。 FaaS连接器接口请求通常包括请求URL、请求方法、请求头信息、请求参数和请求体等内容。首先,请求URL是指目标FaaS连接器接口的地址,通过该地址可以唯一定位到目标接口。其次,请求方法指定了所需执行的操作类型,例如GET表示获取数据,POST表示提交数据,PUT表示更新数据等。再者,请求头信息包含了一些重要的元数据,例如指定接收数据的格式、授权信息等。请求参数是指在请求过程中附带的一些额外信息,例如筛选条件、排序方式等。最后,请求体是在POST等请求方法中传输的实际数据内容。 对于FaaS连接器接口请求,通常需要遵循一定的规范和约定,以确保请求的准确性和安全性。比如,需要保证请求的合法性、防止恶意请求和确保数据传输的加密安全等。 在发起FaaS连接器接口请求之前,我们需要明确我们的目的,了解所需的数据或功能,并确定所需的请求参数和方法。然后,我们可以构造请求URL,并根据需要设置请求头信息、请求参数和请求体。最后,使用HTTP客户端工具发送请求,等待响应并处理返回的数据。 总之,FaaS连接器接口请求可以帮助我们通过发送特定的请求实现所需的功能,获取所需的数据,并在实际应用中实现各种灵活的业务场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值