diff --git a/check_login.php b/check_login.php index 72121813..6fa040be 100644 --- a/check_login.php +++ b/check_login.php @@ -71,4 +71,10 @@ if ($iPod || $iPhone || $iPad) { //Get Notification Count for the badge on the top nav $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('notification_id') AS num FROM notifications WHERE (notification_user_id = $session_user_id OR notification_user_id = 0) AND notification_dismissed_at IS NULL")); -$num_notifications = $row['num']; \ No newline at end of file +$num_notifications = $row['num']; + +// FORCE MFA Setup +//if ($session_user_config_force_mfa == 1 && $session_token == NULL) { +// header("Location: force_mfa.php"); +//} + diff --git a/cron_certificate_refresher.php b/cron_certificate_refresher.php index 0ebf5b20..121e55f7 100644 --- a/cron_certificate_refresher.php +++ b/cron_certificate_refresher.php @@ -29,15 +29,29 @@ if ( $argv[1] !== $config_cron_key ) { * ############################################################################################################### */ -$sql_certificates = mysqli_query($mysqli, "SELECT certificate_id, certificate_domain FROM certificates WHERE certificate_archived_at IS NULL"); +$sql_certificates = mysqli_query($mysqli, "SELECT * FROM certificates WHERE certificate_archived_at IS NULL"); while ($row = mysqli_fetch_array($sql_certificates)) { $certificate_id = intval($row['certificate_id']); - $certificate_domain = sanitizeInput($row['certificate_domain']); + $domain = sanitizeInput($row['certificate_domain']); + + $certificate = getSSL($domain); - $expire_date = getCertificateExpiryDate($certificate_domain); + $expire = sanitizeInput($certificate['expire']); + $issued_by = sanitizeInput($certificate['issued_by']); + $public_key = sanitizeInput($certificate['public_key']); - // Update the Certificate Expiry date - mysqli_query($mysqli, "UPDATE certificates SET certificate_expire = '$expire_date' WHERE certificate_id = $certificate_id"); + if (empty($expire)) { + $expire = "NULL"; + } else { + $expire = "'" . $expire . "'"; + } + + echo "\n$domain\n"; + echo "$issued_by\n"; + echo "$expire\n"; + echo "$public_key\n\n"; + + mysqli_query($mysqli,"UPDATE certificates SET certificate_issued_by = '$issued_by', certificate_expire = $expire, certificate_public_key = '$public_key' WHERE certificate_id = $certificate_id"); } \ No newline at end of file diff --git a/force_mfa.php b/force_mfa.php new file mode 100644 index 00000000..0ead4dbc --- /dev/null +++ b/force_mfa.php @@ -0,0 +1,67 @@ + + +
+
+

2FA Setup

+
+
+ +
+ + + + + +

You have set up 2FA. Your QR code is below.

+ + + +
+ ', TokenAuth6238::getBarCodeUrl($session_name, ' ', $session_token, $_SERVER['SERVER_NAME'])); + + echo "

$session_token

"; + } + + ?> +
+ + + +
+ + +
+
+
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+ + [ - 'capture_peer_cert' => true, - 'verify_peer' => false, // We're only capturing the cert details; not verifying if it's valid - 'verify_peer_name' => false, - ], - ]); - - $client = @stream_socket_client( - "ssl://{$domain}:{$port}", - $errno, - $errstr, - $timeout, - STREAM_CLIENT_CONNECT, - $context - ); - - if (!$client) { - return false; - } - - $contextParams = stream_context_get_params($client); - - if (!isset($contextParams['options']['ssl']['peer_certificate'])) { - return false; - } - - $cert = $contextParams['options']['ssl']['peer_certificate']; - $certInfo = openssl_x509_parse($cert); - - if (!isset($certInfo['validTo_time_t'])) { - return false; - } - - // Return the expiration date in a human-readable format, e.g., "2023-09-20" - return date('Y-m-d', $certInfo['validTo_time_t']); } \ No newline at end of file diff --git a/inc_all.php b/inc_all.php index c8ac89cf..d23b47c3 100644 --- a/inc_all.php +++ b/inc_all.php @@ -5,8 +5,11 @@ include_once("functions.php"); require_once("check_login.php"); require_once("header.php"); require_once("top_nav.php"); +// FORCE MFA Setup +if ($session_user_config_force_mfa == 1 && $session_token == NULL) { + header("Location: user_profile.php"); +} require_once("side_nav.php"); require_once("inc_wrapper.php"); require_once("inc_alert_feedback.php"); -require_once("pagination_head.php"); - +require_once("pagination_head.php"); \ No newline at end of file