2017-04-08 55 views
2

當用戶在使用我的網站,我在離線創建,用戶可以複製粘貼index.php的網址無需登錄到login.php如何防止頁面URL的複製/粘貼?

首先,用戶必須在此URL登錄:但這樣做的用戶可以複製粘貼網頁的URL我的主頁的網址是

http://localhost/first/index.php 

這不是

http://localhost/first/login.php 

網址可以複製粘貼,並且用戶可以充分利用而無需在登錄表單

請幫助防止這種簽約。

+1

使用'session'進行身份驗證的用戶,你的方法是非常非常不安全 –

+0

會話都存儲爲個人用戶對一個唯一的會話ID數據的簡單方法。這可以用來在頁面請求之間保持狀態信息。會話ID通常通過會話cookie發送到瀏覽器,ID用於檢索現有的會話數據。缺少ID或會話cookie可讓PHP知道創建新會話並生成新的會話ID。 – JYoThI

回答

1

您可以簡單的創建一個會話時的登錄信息是正確的。

的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 
    } 
?> 

這是不是最好的辦法,不是很安全的,但它是非常簡單!

+0

謝謝你所有的幫助......非常感謝你....請更教我....再次感謝你.. – lordwin

+0

沒問題,你需要標記這個問題進行回答,這樣其他見糾正一個 –

0

你的方法具有很高的安全風險! 關注此示例在php中使用session進行身份驗證用戶! 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'; 
       } 
      } 
     ?>