javascript - Web API接口如何防止本网站/APP以外的调用?
迷茫
迷茫 2017-04-10 16:59:30
[JavaScript讨论组]

现在APP的API是WEB API实现的,返回的数据是JSON格式。

现在有个问题就是如何防止本APP或者本网站以外的地方调用这些API。

比如说,现在有一个新闻列表的接口,返回新闻标题的JSON数据。如果别人也知道了这个API地址,那么对方也可以拿去使用,这样对我们的服务器就会造成不必要的压力。

需要在服务器和客户端做哪些工作才能解决上述问题呢?

恳请各位大神不吝赐教,谢谢!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(6)
天蓬老师

加黑名单
基于用户权限提供api

大家讲道理

如果是没有权限的api访问。 那可以对这个api地址加盐。 客户端和服务器端使用同一个加盐算法。

高洛峰

看看这个帖子:http://segmentfault.com/q/1010000004234305

PHPz

参数签名,基于只有你自己知道的算法

巴扎黑

1,针对前端 Ajax 请求,设置Access-Control-Allow-Origin控制允许的域名。不在前端做加密,因为前端是公开的,任何加密都没有意义,只会暴露你的加密算法

2,针对其他服务器请求,设计一套 Key 规则,带有合法 Key 的请求才响应

天蓬老师

加上token验证 或者签名验证 服务器端生成token 客户端带着先带着秘钥获取token 然后客户端带着token去获取新闻数据

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号