gpt4 book ai didi

java - 如何使用 glob 验证我的 REFERER URL?

转载 作者:行者123 更新时间:2023-12-02 03:35:40 25 4
gpt4 key购买 nike

我正在尝试检查我的引荐来源网址字符串是否来自格式为 https://www.google.com/ 的任何 URL {{任意}}:

    String referrer = req.getHeader("REFERER");

if (!(referrer.equals("https://www.google.com")) + createRegexFromGlob("*")) {
System.out.println("The referrer is valid.");
} else {
System.out.println("The referrer is not valid.");
}

这是全局:

public static String createRegexFromGlob(String glob)
{
String out = "^";
for(int i = 0; i < glob.length(); ++i)
{
final char c = glob.charAt(i);
switch(c)
{
case '*': out += ".*"; break;
case '?': out += '.'; break;
case '.': out += "\\."; break;
case '\\': out += "\\\\"; break;
default: out += c;
}
}
out += '$';
return out;
}

引用网址是否必须是直接点击,还是会自动知道它是否来自基本网址 https://www.google.com

我想我可以只使用 .contains 而不是确保字符串等于某个东西加上正则表达式?这有什么问题吗?

最佳答案

为什么不使用 .startsWith 来代替?

尝试

if (referrer.startsWith("https://www.google.com"))  

此外,您到底在用 createRegexFromGlob 做什么?只需将 URL 与以下正则表达式匹配

^https:\/\/www\.google\.com.*$  

Java代码:

String pattern = "^https:\\/\\/www\\.google\\.com.*$";
if(referrer.matches(pattern))
可以使用

.contains,但它也接受像

这样的URL
http://example.com/https://www.google.com  

关于java - 如何使用 glob 验证我的 REFERER URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37480428/

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