|
207 | 207 |
|
208 | 208 | } |
209 | 209 |
|
210 | | -if (isset($_POST['enable_2fa'])){ |
| 210 | +if (isset($_POST['enable_2fa']) || isset($_GET['enable_2fa_force'])) { |
211 | 211 |
|
212 | 212 | // CSRF Check |
213 | | - validateCSRFToken($_POST['csrf_token']); |
| 213 | + if ($_SERVER['REQUEST_METHOD'] === 'POST') { |
| 214 | + validateCSRFToken($_POST['csrf_token']); |
| 215 | + |
| 216 | + $extended_log_description = ""; |
| 217 | + $token = sanitizeInput($_POST['token']); |
| 218 | + } else { |
| 219 | + // If this is a GET request then we forced MFA as part of login |
| 220 | + validateCSRFToken($_GET['csrf_token']); |
| 221 | + |
| 222 | + $extended_log_description = "(forced)"; |
| 223 | + $token = sanitizeInput($_GET['token']); |
| 224 | + } |
| 225 | + |
214 | 226 |
|
215 | | - $token = sanitizeInput($_POST['token']); |
216 | 227 |
|
217 | 228 | mysqli_query($mysqli,"UPDATE users SET user_token = '$token' WHERE user_id = $session_user_id"); |
218 | 229 |
|
219 | 230 | // Delete any existing 2FA tokens - these browsers should be re-validated |
220 | 231 | mysqli_query($mysqli, "DELETE FROM remember_tokens WHERE remember_token_user_id = $session_user_id"); |
221 | 232 |
|
222 | 233 | //Logging |
223 | | - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User Settings', log_action = 'Modify', log_description = '$session_name enabled 2FA on their account', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); |
| 234 | + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User Settings', log_action = 'Modify', log_description = '$session_name enabled 2FA on their account $extended_log_description', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); |
224 | 235 |
|
225 | | - $_SESSION['alert_message'] = "Two-factor authentication enabled"; |
| 236 | + $_SESSION['alert_message'] = "Two-factor authentication enabled $extended_log_description"; |
226 | 237 |
|
227 | | - header("Location: " . $_SERVER["HTTP_REFERER"]); |
| 238 | + header("Location: user_security.php"); |
228 | 239 |
|
229 | 240 | } |
230 | 241 |
|
|
0 commit comments