Added tabs in function

This commit is contained in:
Frank Bischof 2023-04-07 08:50:38 +02:00
parent 35f2baf3a8
commit b0b1946be8
1 changed files with 45 additions and 46 deletions

View File

@ -1,62 +1,61 @@
<?php <?php
function password_check($password_check_input) { function password_check($password_check_input) {
// Encrypt your password and uppercase all chars
$sha1_password = strtoupper(sha1($password_check_input));
// Trim to the first 5 characters of the hash
$sha1_password_short = substr($sha1_password, 0, 5);
// Encrypt your password and uppercase all chars // Fetch hash list
$sha1_password = strtoupper(sha1($password_check_input)); $curl = curl_init();
// Trim to the first 5 characters of the hash
$sha1_password_short = substr($sha1_password, 0, 5);
// Fetch hash list curl_setopt_array($curl, array(
$curl = curl_init(); CURLOPT_URL => "https://api.pwnedpasswords.com/range/$sha1_password_short",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"content-type: text/plain"
),
));
curl_setopt_array($curl, array( $response = curl_exec($curl);
CURLOPT_URL => "https://api.pwnedpasswords.com/range/$sha1_password_short", $err = curl_error($curl);
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"content-type: text/plain"
),
));
$response = curl_exec($curl); // Put reponse into an array
$err = curl_error($curl); $lines = explode(PHP_EOL, $response);
// Put reponse into an array // Set hitcounter to ZERO
$lines = explode(PHP_EOL, $response); $hitcounter=0;
// Set hitcounter to ZERO // Loop through all lines
$hitcounter=0; foreach ($lines as $line => $row) {
// Join the 5 sha1 chars with the result
$row = $sha1_password_short . $row;
// Break output
$row = explode(':', $row);
// Set hash as row (part zero of the explode)
$row = $row[0];
// Loop through all lines // Check if the hash matches your encrypted password
foreach ($lines as $line => $row) { if ($row == $sha1_password) {
// Join the 5 sha1 chars with the result $hitcounter++;
$row = $sha1_password_short . $row; }
// Break output
$row = explode(':', $row);
// Set hash as row (part zero of the explode)
$row = $row[0];
// Check if the hash matches your encrypted password
if ($row == $sha1_password) {
$hitcounter++;
} }
}
curl_close($curl); curl_close($curl);
if ($err) { if ($err) {
echo "cURL Error: $err"; echo "cURL Error: $err";
} }
if ($hitcounter != 0) { if ($hitcounter != 0) {
echo "<p><center>The chosen password is known as a breached password!<br> echo "<p><center>The chosen password is known as a breached password!<br>
Please select a different password</center></p>"; Please select a different password</center></p>";
die; die;
} }
} }
password_check("MySsecretPassword"); password_check("MySsecretPassword");