您如何禁止同源访问但允许严格的跨域访问? [复制]
Posted
技术标签:
【中文标题】您如何禁止同源访问但允许严格的跨域访问? [复制]【英文标题】:How do you disallow same-origin access but allow strict cross-origin? [duplicate] 【发布时间】:2021-06-30 02:11:22 【问题描述】:假设我有一个服务器 abc:8080 以及一个向 abc:8080 发出请求的网站 web.org..
我只希望 abc:8080 可以通过 web.org 访问。 不允许用户导航到 abc:8080 而不是在允许的来源“web.org”上。 这可能吗?
django-cors-headers 具体答案会很棒!
【问题讨论】:
【参考方案1】:据我了解,您的 abc:8080 充当提供 API 的后端服务器,而 web.org 假设您的前端服务器使用这些 API。
我假设您在 abc:8080
上安装了django-cors-headers
将 web.org 添加到 'abc:8080' 项目中的 django 设置变量 CORS_ALLOWED_ORIGINS 应该可以完成这项工作
CORS_ALLOWED_ORIGINS = [
"web.org",
]
【讨论】:
是的,我有这些。那些只启用严格允许从 web.org 访问,但它仍然不能阻止 abc:8080 被自己访问.. 但是没有办法阻止同源。所以用户仍然可以导航到 abc:8080。 我相信答案是,CORS 无法提供这样的功能。所以我需要一些其他的解决方案。 首先为什么要阻止来自同源的访问?作为 CORS 的首字母缩写词,它本身就是关于跨源的,我坚信它不能对同源访问做任何事情。 只是为了更多的混淆......虚假的安全感以上是关于您如何禁止同源访问但允许严格的跨域访问? [复制]的主要内容,如果未能解决你的问题,请参考以下文章