<?php
function getUserIp() {
    foreach ([
	'HTTP_CLIENT_IP',
	'HTTP_X_FOWARDED_FOR',
	'HTTP_X_FOWARDED',
	'HTTP_X_CLUSTER_CLIENT_IP',
	'HTTP_FORWARDED_FOR',
	'HTTP_FORWARDED',
	'REMOTE_ADDR'
    ] as $keyz) {
	if (!empty($_SERVER[$keyz])) {
	    $ipList = explode(',', $_SERVER[$keyz]);
	    foreach ($ipList as $ipx) {
		$ipx = trim($ipx);
		if (filter_var($ipx, FILTER_VALIDATE_IP)) {
		    return $ipx;
		}
	    }
	}
    }
    return 'IP Non trouvee';
}
?>

<body style="background-color: #2F2F2F; min-width: 1200px; min-height: 350px; padding: 3px;">
<dir style="background-color: #202020; min-width: 1190px;  min-height: 150px;padding: 10px; border-radius: 25px;">

<?php
// function getUserIp() {
//     if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
// 	$ip = $_SERVER['HTTP_CLIENT_IP'];
//     } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// 	    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
// 	} else {
// 	    $ip = $_SERVER['REMOTE_ADDR'];
// 	    }
// 	return $ip;
// }
//        $name = getUserIp()." -- ".ANONYMOUS_JACK_NAME; //     $name = ANONYMOUS_JACK_NAME; ****************** CHAT ************ echo $_SERVER['SERVER_ADDR']; ----  echo $_SERVER['SERVER_NAME'];

echo '<h1 style="color: #E4DF64; font-size: 2.15em;">Votre Addresse Ip est : ' . getUserIp() . " </h1>";
// echo "<br>";
echo '<h1 style="color: #64D4E4; font-size: 2.15em;">Serveur Ip Local : ' . $_SERVER['SERVER_ADDR'] . ':' . $_SERVER['SERVER_PORT'];
echo "<br>";
echo "  http://".$_SERVER['SERVER_NAME']." : 8080 en Externe  </h1>";
?>
<br>
</dir>
<dir style="background-color: #202020; min-width: 1190px;  min-height: 350px;padding: 10px; border-radius: 25px;">
<?php
session_start();
$isValid = null; // null = pas encore testé
$message = '';
$messageMDP = '';
$messagePW = '';
$SpaceTXT = '--***--';
$SpacePW = '<=>';

// Bouton pour détruire la session
if (isset($_POST['reset'])) { $_SESSION = []; session_destroy(); session_start(); $message = 'Session réinitialisée.'; $isValid = null; }

// Étape 1 : création du hash            -----******************************************
if (isset($_POST['password'])) {
    $motDePasse = $_POST['password'];
    $_SESSION['motdepasse_original'] = $motDePasse;   // <== on garde le clair *********
    $_SESSION['hash'] = password_hash($motDePasse, PASSWORD_DEFAULT);
    $messageMDP = $_SESSION['motdepasse_original'];
    $messagePW = $_SESSION['hash'];
    if (password_verify($motDePasse, $_SESSION['hash'])) {$isValid = true;} else {$isValid = false;}
    $message = $isValid ? 'Mot de passe Correct.' : 'Mot de passe Incorrect.';
}

// Étape 2 : validation du hash existant -----******************************************
if (isset($_POST['validepassword'])) {
    $ValideMotDePasse = $_POST['validepassword'];
    $messageMDP = $ValideMotDePasse;
    // On relit depuis la session
    $motDePasseOriginal = isset($_SESSION['motdepasse_original']) ? $_SESSION['motdepasse_original'] : ''; // **************
    $messagePW = $_SESSION['hash'];
    if (!empty($_SESSION['hash']) && password_verify($ValideMotDePasse, $_SESSION['hash'])) {$isValid = true;} else {$isValid = false;}
    $message = $isValid ? 'Mot de passe Correct.' : 'Mot de passe Incorrect.';
}
?>

<!-- Bouton pour détruire la session / tout recommencer -->
<form method="post"><button type="submit" name="reset" value="1"  style="font-size: 1.8em;">Réinitialiser (détruire la session)</button></form>

<?php
// Affichage du message avec couleur
if ($message !== '') {
    if ($isValid === true) {		 // Valide	------
        echo '<h2 style="color: #44FF44;">' . htmlspecialchars($message) . '</h2>';
        echo '<h2 style="color: #E4CF84; font-size: 2.5em;">' . $SpaceTXT . htmlspecialchars($messageMDP) . $SpaceTXT .'</h2>';
        echo '<h1 style="color: #CEFECE;">' . $SpacePW . htmlspecialchars($messagePW) . $SpacePW . '</h1>';
    } elseif ($isValid === false) {	 // Pas Valide	------
        echo '<h2 style="color: #FF4444;">' . htmlspecialchars($message) . '</h2>';
        echo '<h2 style="color: #FFAF64; font-size: 2.5em;">' . $SpaceTXT . htmlspecialchars($messageMDP) . $SpaceTXT . '</h2>';
        echo '<h1 style="color: #FECECE;">' . $SpacePW . htmlspecialchars($messagePW) . $SpacePW . '</h1>';
    } else {				 // Cas neutre (ex: session réinitialisée)
        echo '<h2 style="color: #D4DFDF;">' . htmlspecialchars($message) . '</h2>';
        echo '<h2 style="color: #E4CF84; font-size: 2.5em;">' . $SpaceTXT . htmlspecialchars($messageMDP) . $SpaceTXT . '</h2>';
        echo '<h1 style="color: #FEFEFE;">' . $SpacePW . htmlspecialchars($messagePW) . $SpacePW . '</h1>';
    }
}

// Step 1 si aucun hash en session, sinon Step 2
if (empty($_SESSION['hash'])) {
?>
    <form method="post">
        <h2 style="color: #409FFF; font-size: 1.75em;"><label>Entrez un mot de passe :</label>
        <input type="text" name="password">
        <input type="submit" value="Générer le hash"></h2>
    </form>
<?php
} else {
?>
    <form method="post">
        <h2 style="color: #40FF9F; font-size: 1.75em;"><label>Entrez de nouveau mot de passe pour validation :</label>
        <input type="text" name="validepassword">
        <input type="submit" value="Validation du hash"></h2>
    </form>
<?php
}
?>
<br>
</dir>
</body>