• Restful API及接口安全


    一、简介

    REST(Representational State Transfer,具体状态转移),是一种基于HTTP协议、URI(统一资源定位符)、JSON和XML这些现有协议与标准的,针对网络应用的设计和开发方式。

    资源 + HTTP动作

    系统中所有对象都被抽象为资源,资源通过URI指向。

    对于资源的具体类型由HTTP协议的各种动作实现。

    二、接口验证

    为保证API接口的安全性,需要设计一套严格的接口验证方法,常包含以下几种:

    • 接口时效性验证,即接口uri是否过期。时间戳超时机制是防御DOS攻击的有效手段。
    • 接口参数完整性验证,即定义接口签名,客户端把所有的请求参数根据一个特定的算法,生成一个签名字符串,并在请求时一并发送。服务器接收到后进行验证。如果不一样,说明参数被更改过。签名机制保证了数据不会被篡改。
    • 用户唯一Token。

    在以上三中机制的保护下:

    如果有人劫持了请求,并对请求中的参数进行了修改,签名就无法通过;

    如果有人使用已经劫持的URL进行DOS攻击,服务器则会因为缓存服务器中已经存在签名或时间戳超时而拒绝服务,所以DOS攻击也是不可能的;

    如果签名算法和用户名密码都暴露了,洗洗睡吧。。。

  • 相关阅读:
    python基础易错题
    经典案例题2
    经典案例题1
    Http和Https的区别
    爬虫过程中需要注意的问题
    [转]项目规模估计方法介绍
    [转]23种设计模式总结
    [转]分布式session的几种实现方式
    [转]Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
    [转]【Linux】Linux 目录结构
  • 原文地址:https://www.cnblogs.com/cshaptx4869/p/11148994.html
Copyright © 2020-2023  润新知