gpt4 book ai didi

regex - 在 CORS 中使用正则表达式

转载 作者:行者123 更新时间:2023-12-04 04:44:15 25 4
gpt4 key购买 nike

我正在尝试对 cors 使用正则表达式。我已经多次阅读说,cors 不可能是所有 (*) 或精确的域。 Access-Control-Allow-Origin wildcard subdomains, ports and protocols .然而,这似乎自相矛盾:http://www.cameronstokes.com/2010/12/26/cross-origin-resource-sharing-and-apache-httpd/ .有人可以澄清一下,如果可以使用正则表达式,请提供一个简单的示例,因为我试图实现上面的链接但没有成功。

希望使用的正则表达式是

    ^http\://\blocal-.*\b\.testing-test:10005$

我检查了我的正则表达式,它与生成的 URL 匹配。
我已经按照 apache2.conf 的建议添加了 SetEnvIF 和 Header set 行(这是正确的吗?)如下
    SetEnvIf Origin "^http\://\blocal-.*\b\.mycompany-it:10005$" 

AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %

{AccessControlAllowOrigin}e env=AccessControlAllowOrigin

我不知道下一步该做什么。它不起作用
提前致谢

最佳答案

Access-Control-Allow-Origin header 只能是通配符“*”或确切的 url。一种方法是首先从请求中获取 Origin header 的值(这因服务器而异,但一个示例可能如下所示: request.headers['Origin'] )。

然后使用请求 Origin 的值进行正则表达式检查。如果请求的源通过允许的正则表达式检查,那么您可以简单地将 Access-Control-Allow-Origin 的值设置为请求的 Origin 的值(示例:response.headers['Access-Control-Allow-Origin'] = request.headers['Origin'])。这样,您就不会违反严格 url 访问控制的规则,而且还允许服务器接受多个不同的允许来源。

关于regex - 在 CORS 中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18439340/

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