Я получаю URL-адрес redirect
в формате ниже.Regex, чтобы проверить 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 напрямую. Я ищу несколько шаблонов regex
, чтобы проверить это, но пока не удалось реализовать.
'Струнный начальный =«HTTP: //beta.test.com/";'? – sp00m
noop, это только «String initial = http://beta.test.com»; нет косой черты в конце – RE350