要检查的正则表达式 URL
Regex to check URL
我得到一个 redirect
URL 格式如下。
String redirectUrl = "http://beta.test.com/response";
而且我们必须根据存储在我们数据库中的 url 验证此 URL,其中包含 redirectUrl
的首字母,如下所示。
String initial = "http://beta.test.com";
所以为了验证,我们在下面做。
if(redirectUri.startsWith(initial)){
match = true;
}
但用户也可以传递低于 redirectUrl
的值。
"http://beta.test.com.attacker.com/response"
"http://beta.test.com-attacker.com/response"
"http://beta.test.comattacker/response"
以上全部无效URL但符合我们的startsWith
条件。我无法将它与 DB directly.I 匹配,我正在寻找一些 regex
模式来检查这个,但到目前为止无法实现。
这里仍然不需要正则表达式。您可以在初始 URL 中附加一个斜线并调用相同的 starsWith
方法:
if(redirectUri.startsWith(initial + "/")){
match = true;
}
也许对你有帮助:
(^.*)\/.*$
我得到一个 redirect
URL 格式如下。
String redirectUrl = "http://beta.test.com/response";
而且我们必须根据存储在我们数据库中的 url 验证此 URL,其中包含 redirectUrl
的首字母,如下所示。
String initial = "http://beta.test.com";
所以为了验证,我们在下面做。
if(redirectUri.startsWith(initial)){
match = true;
}
但用户也可以传递低于 redirectUrl
的值。
"http://beta.test.com.attacker.com/response"
"http://beta.test.com-attacker.com/response"
"http://beta.test.comattacker/response"
以上全部无效URL但符合我们的startsWith
条件。我无法将它与 DB directly.I 匹配,我正在寻找一些 regex
模式来检查这个,但到目前为止无法实现。
这里仍然不需要正则表达式。您可以在初始 URL 中附加一个斜线并调用相同的 starsWith
方法:
if(redirectUri.startsWith(initial + "/")){
match = true;
}
也许对你有帮助:
(^.*)\/.*$