我有以下架构:
前端发布在互联网上,供所有人使用。 我想保护CORS的后端(只有我的前端可以在后端请求)。
HTTP头中的'Access-Control-Allow-Origin'后端发送的值应该是多少? 我猜前端发送的请求的原点是否等于最终用户的IP地址?那么,我应该将通配符“*”设置为“Access-Control-Allow-Origin”? =>没有CORS安全性
我的理解是否正确? 我的架构坏吗? 这个问题的解决方案是什么?
答案 0 :(得分:1)
我认为一定是这样的:
Access-Control-Allow-Origin: http://127.0.0.1:8000
使用通配符(*)是个坏主意。 (并且它需要设置一个错误的Access-Control-Allow-Credentials标头。)所以你是对的。
答案 1 :(得分:0)
我要为您的前端分配一个域名,指向前端的IP,如果您使用本地主机托管,则可能是路由器的IP地址(在Google上搜索“ what is my ip”)。打开互联网。然后,您需要的地址应该是您在DNS中设置的域名(例如,在Cloudflare上),该域名指向您为其提供的IP。