Skip to content

Commit 418be41

Browse files
committed
prevent brute force improve
1 parent ffd0759 commit 418be41

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

spring-security-login-and-registration/src/main/java/org/baeldung/security/MyUserDetailsService.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public MyUserDetailsService() {
4545

4646
@Override
4747
public UserDetails loadUserByUsername(final String email) throws UsernameNotFoundException {
48-
final String ip = request.getRemoteAddr();
48+
final String ip = getClientIP();
4949
if (loginAttemptService.isBlocked(ip)) {
5050
throw new RuntimeException("blocked");
5151
}
@@ -88,4 +88,10 @@ private final List<GrantedAuthority> getGrantedAuthorities(final List<String> pr
8888
return authorities;
8989
}
9090

91+
private String getClientIP() {
92+
final String xfHeader = request.getHeader("X-Forwarded-For");
93+
if (xfHeader == null)
94+
return request.getRemoteAddr();
95+
return xfHeader.split(",")[0];
96+
}
9197
}

0 commit comments

Comments
 (0)