之前我以为
PHP cURL
模拟请求也会有跨域限制的。
在之前设计接口的时候,需要权限访问的敏感数据(例如需要登录后查看的个人数据)。我是会做token
检测的。
但是其他的普通接口可以直接获取的,只是添加了跨域头,防止跨域调用,但是后面发现,通过PHP cURL
是能调用成功的。后面看了eechen
的回答。如下:
同源策略防止跨域是浏览器中的安全机制.而PHP的cURL可以看做一个命令行下的浏览器(客户端),不受任何限制,就像你用file_get_contents下载互联网上的东西一样随心所欲, 来源。
感觉这样设计会不会有点不合理?JS Ajax
有跨域限制,PHP cURL
这种形式的则没有跨域限制。为什么当时确定跨域限制的时候,为什么不把PHP cURL
形式的也作为跨域限制?
那这样的形式又应该如何去防止跨域调用呢?
之前想做网易云客户端的时候,有看过网易云音乐
的接口,是通过CSRF_TOKEN
防止跨域调用的。
PS:话说这种方案,貌似能够通过爬网页获取CSRF_TOKEN
,再进行跨域调用吧?
另外,还有什么方案能够解决这个问题吗?
付费偷看金额在0.1-10元之间
可以作一个接口验证,比如利用 JWT
一周热门 更多>