Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include("password.php");
- session_start();
- $pdo = new PDO('mysql:host=mylonky.lima-db.de;dbname=XXX', 'USER', 'PASS');
- function random_string() {
- if(function_exists('random_bytes')) {
- $bytes = random_bytes(16);
- $str = bin2hex($bytes);
- } else if(function_exists('openssl_random_pseudo_bytes')) {
- $bytes = openssl_random_pseudo_bytes(16);
- $str = bin2hex($bytes);
- } else if(function_exists('mcrypt_create_iv')) {
- $bytes = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
- $str = bin2hex($bytes);
- } else {
- //Bitte euer_geheim_string durch einen zufälligen String mit >12 Zeichen austauschen
- $str = md5(uniqid('euer_geheim_string', true));
- }
- return $str;
- }
- if(isset($_GET['login'])) {
- $username = $_POST['username'];
- $passwort = $_POST['passwort'];
- $statement = $pdo->prepare("SELECT * FROM users WHERE username = :username");
- $result = $statement->execute(array('username' => $username));
- $user = $statement->fetch();
- //Überprüfung des Passworts
- if ($user !== false && password_verify($passwort, $user['passwort'])) {
- $_SESSION['userid'] = $user['id'];
- //Möchte der Nutzer angemeldet beleiben?
- if(isset($_POST['angemeldet_bleiben'])) {
- $identifier = random_string();
- $securitytoken = random_string();
- $insert = $pdo->prepare("INSERT INTO securitytokens (user_id, identifier, securitytoken) VALUES (:user_id, :identifier, :securitytoken)");
- $insert->execute(array('user_id' => $user['id'], 'identifier' => $identifier, 'securitytoken' => sha1($securitytoken)));
- setcookie("identifier",$identifier,time()+(3600*24*365)); //1 Jahr Gültigkeit
- setcookie("securitytoken",$securitytoken,time()+(3600*24*365)); //1 Jahr Gültigkeit
- }
- die('Login erfolgreich. <br><br>Du wirst automatisch zur <a href="index.php">Startseite</a> weitergeleitet.
- <meta http-equiv="refresh" content="3; URL=index.php">');
- } else {
- $errorMessage = 'E-Mail oder Passwort war ungültig<br> Wenn du dein Passwort Vergessen hast, dann klicke <a href="passwortvergessen.php">Hier</a>.<br>';
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement