gpt4 book ai didi

javascript - MVC EnableCors我们能确定来源吗?

转载 作者:行者123 更新时间:2023-11-29 18:10:24 24 4
gpt4 key购买 nike

我读过关于 asp.net 的文章.

他们在对 WebApi 的 javascript ajax 调用中使用 Oauth2 密码 grand_type。

如果我们不允许 CORS(跨源资源共享),这是安全的。但我希望允许其他网站将此 api 与 auth2 一起使用。

我的问题是,我如何确定他们不是有人在我的服务器上发帖。有些人可以假装它在这个网站上(比如更改“System32\drivers\etc\hosts”或本地 dns 中的主机文件)

EnableCors 属性是在浏览器和主机上双重检查主机的有效性还是浏览器的问题?

其他网站只有 javascript,没有像 asp 或 php 这样的服务器端......

如果能提供Cors的安全文档就好了。

谢谢你。

编辑:我不是问如何使用它。我在问是否可以绕过允许的主机。

由于调用是通过 ajax 在 javascript 上进行的,因此这是我在发出请求时获得的客户端 ip,我得到了 HTTP referer在服务器端验证,但我不信任它,因为客户端可以更改它。

我在问我是否可以信任“Access-Control-Allow-Origin” header ,服务器是否验证它,或者它是否仅适用于浏览器,绕过浏览器本身的安全规则。如果我不相信它,有没有办法获得可信的来源请求。

最佳答案

CORS 与身份验证无关……它与协作有关。

这是帮助其他站点避免陷入麻烦的方法。
默认情况下,客户端的浏览器禁止跨源请求。但它可以询问你的服务器:“嘿,伙计,你不介意来自该服务器的客户端代码从你那里获取数据吗?”
如果默认情况下您没有为任何站点启用 CORS,则客户端代码无法从您的服务器读取数据。但是,当开发人员故意引入此类行为时,他可以要求您获得明确的许可。

CORS 是保护第三方而非您的数据的方式。

请求被允许后,除非您不关心,否则必须像往常一样对其进行身份验证和授权 =)

因此无需验证原产地声明。此外,此来源信息不得参与身份验证/授权信息。如果您确实需要对请求方进行身份验证,那么其他服务器必须根据您的服务对自己进行身份验证,并且只有在之后才向其客户端提供数据,从而充当代理。

关于javascript - MVC EnableCors我们能确定来源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27903271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com