gpt4 book ai didi

asp.net - 访问控制允许来源限制

转载 作者:行者123 更新时间:2023-12-04 17:36:34 24 4
gpt4 key购买 nike

我已经使用标题 Access-Control-Allow-Origin: * 建立了面向公众的网站,以便我们可以使用 JSON 和 AJAX。但是,我真正想做的是将其限制在某些服务器上。请求应该只来自我们控制的几台服务器。我在不添加代码(示例伪代码)的情况下找不到工作的问题:

for each domain in myDomains
addheader Access-Control-Allow-Origin: domain
next

是否可以在 IIS 的 HTTP Headers 选项卡下添加多个“Access-Control-Allow-Origin”?我知道实际上可以将它添加到 IIS,但是它有效吗?

例子:
Access-Control-Allow-Origin: http://domain1
Access-Control-Allow-Origin: http://domain2
Access-Control-Allow-Origin: http://127.0.0.1 (use using home as IP example)

使用 Access-Control-Allow-Origin: * 只是为了不安全。

最佳答案

不,多个 Access-Control-Allow-Origin不允许使用标题。您只能拥有一个 Access-Control-Allow-Origin响应头,并且该头只能有一个原始值或 * (例如,您不能有多个以空格分隔的原点)。

您最好的选择是读取传入的 Origin header ,根据白名单检查其值,然后仅发出 Access-Control-Allow-Origin如果允许 Origin,则为 header 。下面是一个伪代码示例:

origin = request.getHeader('Origin');
for each domain in myDomains
if (domain == origin)
// Add header if the origin is whitelisted
addheader Access-Control-Allow-Origin: domain
return
// Otherwise exit the for loop without adding any headers.

关于asp.net - 访问控制允许来源限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047087/

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