幸运的是,有一些易于实施且易于理解的实 土耳其手机区号 践可以应用于 API 端点来保护它们。以下是大多数安全专家的建议。
始终使用HTTPS
如果您的 API 端点允许 API 使用者通过http或其他不安全协议进行通信,那么您将让他们面临巨大的风险。密码、私钥和信用卡信息很容易被窃取,因为任何中间人攻击或数据包嗅探工具都可以将它们读取为纯文本。因此,请始终将 https 作为唯一可用的选项。无论端点看起来多么微不足道,通过 http 连接都不应该是可能的。TLS证书的 成本并不高:您可以从SSL商店购买一个,只需 20 美元。
单向密码散列
密码不应以明文形式存储,因为一旦发生安全漏洞,所有用户帐户都将受到损害。同时,应该避免对称加密,因为任何足够有创造力和持久的攻击者都可以破解它。可以提供的唯一选项是用于存储密码的非对称(或“单向”)加密算法。在这种情况下,攻击者、开发人员或公司系统管理员 都无法读取客户端密码。
强认证
几乎每个 API 都有自己的身份验证形式,但在我看来,OAuth2 系统效果最好。与其他身份验证方法不同,它将帐户分离为资源,并且仅允许对身份验证令牌的持有者进行有限的访问。同时,另一个非常好的做法是将令牌设置为每 24 小时过期一次,以便需要更新它们。这样,即使你的 token 泄露了,24 小时的有效期也有可能减少黑客攻击的影响。
强制限速
除非您有一个每分钟有数百万人使用的 API,否则最好对客户端在特定时间段内访问该 API 的次数设置限制。这样做主要是为了防止机器人的出现,机器人每秒可以发送数百个并发请求,并导致您的 API 无缘无故地消耗系统资源。所有Web 开发框架都附带限速中间件(如果您没有,可以使用库轻松添加它),只需一分钟左右即可完成设置。