高德地图 JS API key 的保护,安全密钥的使用方案

瑞星  金牌会员 | 2024-10-17 01:33:16 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 987|帖子 987|积分 2961

背景

因为高德地图的 key 被盗用,导致额度不耗尽。增加了不必要的资本,所以对 key 的保护尤为重要。
目前情况

如今项目中使用高德地图是直接将 key 写在代码中。

在调用高德 api 的时间,key 会明文拼接在请求所在上,因此会被别有效心的人使用。
解决方案

业务运营多年,高德地图的 key 已是多年前创建的,所以第一步就是创建一个新的 key。

明文密钥配合域名白名单

2021年12月02日以后创建的 key 需要配合安全密钥一起使用,而且添加了域名白名单配置。

项目代码做个简单的修改即可:

如果在域名白名单中的调用接口能正常使用,如域名不在白名单中,则提示没有权限。

以后看已经起到了限制作用,但现实是防君子不防小人的方案。不建议在生产情况使用,至于原因,你琢磨琢磨。
署理转发请求

因为需要 key 需要配合安全密钥一起使用,不然就会提示没有权限,所以只需要将安全密钥“隐藏”起来就可以了。

请求会将 key 和安全密钥明文拼接在一起,为了将安全密钥“隐藏”起来,只需要将请求署理到自己的服务器上,然后在服务器大将安全密钥拼接上。
以 Nginx 为例:

项目代码配置署理所在即可:

到处,完美收官。
跋文

个人项目,可以随意玩耍。公司项目凡是涉及到钱财的东西都要审慎一些,不要低估灰产的能力。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表