2017-04-08 2 views
2

Wenn der Benutzer meine Website verwendet, die ich offline erstellt habe, kann der Benutzer die URL der index.php kopieren, ohne sich in der login.php anzumelden.Wie kann das Kopieren/Einfügen der Seiten-URL verhindert werden?

Zuerst wird der Benutzer in dieser URL müssen sich anmelden:

http://localhost/first/login.php 

aber anstatt das zu tun, dass der Benutzer meine URL der Homepage einfügen kopieren Sie die URL der Homepage ist

http://localhost/first/index.php 

Diese URL kann kopieren einfügen und der Benutzer kann volle Nutzung haben, ohne Anmeldung Login-Formular

Bitte helfen Sie dies zu verhindern.

+1

Verwenden Sie "Sitzung" für die Authentifizierung Benutzer, Ihre Methode ist sehr, sehr unsicher –

+0

Sitzungen sind eine einfache Möglichkeit, Daten für einzelne Benutzer gegen eine eindeutige Sitzungs-ID zu speichern. Dies kann verwendet werden, um Zustandsinformationen zwischen Seitenanforderungen zu erhalten. Sitzungs-IDs werden normalerweise über Sitzungs-Cookies an den Browser gesendet, und die ID wird verwendet, um vorhandene Sitzungsdaten abzurufen. Durch das Fehlen einer ID oder eines Sitzungscookies kann PHP eine neue Sitzung erstellen und eine neue Sitzungs-ID generieren. – JYoThI

Antwort

1

Sie können eine Sitzung einfach erstellen, wenn die Anmeldeinformationen korrekt sind.

login.php:

<?php 
     session_start(); // need this to work with sessions 


     if(isset($_POST['username']) && isset($_POST['password'])) { 

     $username = $_POST['username']; 
     $password = $_POST['password']; 

     if($username == "diego" && $password == "123456") { 
      $_SESSION['user'] = $username; 
      $_SESSION['isLoggedIn'] = true; 
      header("Location: index.php"); // forward to index site 
     }else { 
      return "False username and password!"; 
     } 
    ?> 

index.php:

<?php 
    session_start(); // need this to work with sessions 

    if(isset($_SESSION['user']) && isset($_SESSION['isLoggedIn'])) { 
    // do what you want 

    }else { 
    header("Location: login.php?error"); // forward to login site 
    } 
?> 

Dies ist nicht der beste Weg, und nicht sehr sicher, aber es ist sehr einfach!

+0

Vielen Dank für Ihre Hilfe ...... vielen Dank .... bitte unterrichten Sie mich mehr .... wieder danke .. – lordwin

+0

Nein Problem Sie müssen diese Frage als Antwort markieren, so dass andere sehen korrigieren Sie eins –

0

Ihre Methode hat ein hohes Sicherheitsrisiko! Achtung dieses Beispiel mit session in PHP für Benutzer authentifizieren! PHP - Login Example

<?php 
      $msg = ''; 

      if (isset($_POST['login']) && !empty($_POST['username']) 
       && !empty($_POST['password'])) { 

       if ($_POST['username'] == 'tutorialspoint' && 
        $_POST['password'] == '1234') { 
        $_SESSION['valid'] = true; 
        $_SESSION['timeout'] = time(); 
        $_SESSION['username'] = 'tutorialspoint'; 

        echo 'You have entered valid use name and password'; 
       }else { 
        $msg = 'Wrong username or password'; 
       } 
      } 
     ?> 
Verwandte Themen