gpt4 book ai didi

apache - RewriteCond 比较 Apache htaccess 中的两个变量

转载 作者:行者123 更新时间:2023-12-02 20:54:38 24 4
gpt4 key购买 nike

如果两个变量 HTTP_ORIGINHTTP_HOST 相等,我希望有一个 rewritecond 得到 true。我试过了

RewriteCond %{HTTP:Origin} ^http://%{HTTP_HOST}(/|$)

但是,尽管 Netbeans 语法颜色不同,Apache 似乎并未用其值替换 %{HTTP_HOST}。我猜是因为

RewriteCond %{HTTP:Origin} ^http://cnfr005554(/|$)
RewriteCond %{HTTP_HOST} =cnfr005554

有效。

那么如何测试两个变量 %{HTTP:Origin}%{HTTP_HOST} 是否相等? (是的,它是为了应用 OWASP 指南来缓解 XSRF)

最佳答案

RewriteCond中,您不能使用右侧的变量。

你必须像这样使用它:

RewriteCond %{HTTP_HOST}##%{HTTP:Origin} ^(.+)##http://\1(/|$)

这里使用分隔符 ## 连接 2 个变量(可以是任何内容)。然后在 RHS 上,我们匹配并捕获表示 HTTP_HOST## 之前的值。在 ## 使用反向引用 \1 之后,我们进行匹配。

关于apache - RewriteCond 比较 Apache htaccess 中的两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40871983/

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