课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
安全性在软件开发项目中是需要所有程序员都需要重点关注的一个问题,而今天我们就通过案例分析来了解一下,软件开发API安全操作都有哪些。
1、使用HTTPS
现在的Web已经不是之前那个年代,标准的HTTP满足不了Web安全需求。而各大浏览器供应商开始标记不使用安全层的URL,你的API也可以考虑开始动手做这件事——用HTTPS。HTTPS采用传输层安全性协议(TLS)对传输进行加密。这意味着HTTPS对客户端和服务器之间的通信进行加密。对API而言,HTTPS意味着从API发送的内容是受三方保护的,但更重要的是这意味着访问凭证是安全的。
2、认证
说到访问凭证,避免意外使用API的直接的方法便是确保正确的身份验证。身份验证决定了你是否可访问API及如何访问某个API,即便是对外开放的免费API理论上也应当考虑采用身份验证策略以保证安全性。有了身份认证,你可以限制或删除滥用API的使用者,让使用者在需要时重新设置凭证,从而保护他们的安全。
3、授权
起到和身份验证类似作用的是授权。身份验证和授权的区别在于,身份验证关注的是API的使用者是谁,而授权关注的是他们能够访问的内容。举个例子,免费计划用户可能被授权只能访问你所有API的某个子集。当你想集成诸如社交登录此类API时,用户授权可让应用从社交平台读取他们的配置文件数据。
4、安全endpoints和资源(对象级授权)
一般来说,我们会通过授权来保护endpoint/endpoints,但更长远来说,我们需要确保单个资源的安全。单个资源的安全可以防止错误配置的endpoint级授权访问数据。此外,它还意味着endpoint本身不受用户类型的限制,而是由资源控制谁能查看它,谁不能查看它。(精确到URL的权限)
5、限速
一说到安全,我们常会想到不适当的访问。当然,如何处理不适当的访问对管理资源也很有用。限速是一种限制API使用的技术。它不仅在经济上保护资源,但也保证了服务器不会因某次大量的请求而超载。大多数限速的方法都基于时间的——一般会设置一个账单周期来处理API总体使用情况,也会用“突发”方法来限制大量涌入的请求。如果你看到429HTTP状态代码,说明你正在被限速。
6、验证和净化输入
要攻击Web程序古老的方式之一是输入,即:我们访问数据的方式可能已经改变,但是验证任意用户输入的需要还没有改变。客户端验证有助于防止错误和改善用户体验,但是API还需要在对输入执行操作前验证和净化(sanitize)输入——净化策略为删除请求中的恶意或无效代码。验证确保数据满足资源期望的必要条件,例如:类型、形式,甚至是密码结构等因素。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。