Add logging of IP for failed login attempts for integration with fail2ban
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
use log::debug;
|
use log::{debug, info};
|
||||||
use maud::{html, PreEscaped};
|
use maud::{html, PreEscaped};
|
||||||
use peach_lib::password_utils;
|
use peach_lib::password_utils;
|
||||||
use rouille::{post_input, try_or_400, Request, Response};
|
use rouille::{post_input, try_or_400, Request, Response};
|
||||||
@ -73,7 +73,11 @@ pub fn handle_form(request: &Request, session_data: &mut Option<SessionData>) ->
|
|||||||
Response::redirect_303("/")
|
Response::redirect_303("/")
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
debug!("Unsuccessful login attempt");
|
let x_forwarded_for = request.header("X-Forwarded-For");
|
||||||
|
let real_ip = x_forwarded_for
|
||||||
|
.and_then(|ips| ips.split(':').next().and_then(|ip| Some(ip.to_string())))
|
||||||
|
.unwrap_or_else(|| request.remote_addr().ip().to_string());
|
||||||
|
info!("Unsuccessful login attempt from {:?}", real_ip);
|
||||||
let err_msg = format!("Invalid password: {}", err);
|
let err_msg = format!("Invalid password: {}", err);
|
||||||
let (flash_name, flash_msg) = (
|
let (flash_name, flash_msg) = (
|
||||||
"error".to_string(),
|
"error".to_string(),
|
||||||
|
Reference in New Issue
Block a user