2012-10-22 20 views
1

我已經啓用密碼保護上通過我的託管服務器的控制面板的目錄。它工作正常。然而,問題是,用戶的瀏覽器緩存的登錄信息,這樣,如果他們導航離開該頁面,然後返回到密碼保護網頁 - 不提示他們重新登錄。如何讓我的密碼保護目錄提示用戶在每次訪問時登錄?

我一直在閱讀有關如何防止從高速緩存的瀏覽器,並嘗試了META標籤選項(編譯,緩存控制,到期),但是,這並不完全工作。它只適用於用戶完全關閉瀏覽器,然後再次打開瀏覽器。我想要登錄提示打開每次用戶訪問頁面(有點像訪問Webmail頁面)。

我很好奇,如果有某種編碼,可以幫助這一點。我的網頁只是使用CSS和HTML - 我熟悉的唯一兩種編碼。

+0

爲什麼你每次都要問認證? – tobspr

+0

需要爲它要求進行身份驗證,每次是我的老闆怎麼喜歡它是:) – leehamil

+0

你必須使用一個PHP腳本的可能性?這將更安全。 .. – tobspr

回答

0

基本身份驗證使用PHP:

的登錄:

<?php session_start();$_SESSION=array();session_destroy(); ?> 
<form method="POST" action="yoursite.php"> 
Username: <input name="username"><br> 
Password: <input name="password" type="password"><br> 
<button type="submit">Submit</button> 
</form> 

YourSite:

<?php 
session_start(); 
if(isset($_POST['username'])) { 
    $username = trim($_POST['username']); 
    $userpw = trim($_POST['password']); 
    //here you have to check if the credentials are correct 
    $user_may_see_content = false; 
    // 
    if(user_may_see_content) { 
    $_SESSION['mayHaveRequest']=1; 
    //now go to page 

    } else { 
    header("Location: <link_to_loginsite>");exit(); 
    } 

} 

//if user may see page 
if(isset($_SESSION['mayHaveRequest']) && $_SESSION['mayHaveRequest']==1): ?> 
$_SESSION['mayHaveRequest']=0; 
?> 
<!-- SECRET HTML CODE FOR AUTHENTICATED USERS --> 



<?php else: 
header("Location: <link_to_loginsite>");exit(); 
endif; 
?> 

這僅僅是個例子。

希望有所幫助。

+0

謝謝!我正在試驗你提供的東西。這是我第一次嘗試使用php。 – leehamil

+0

我能夠創建登錄頁面。我對PHP需要放置在密碼保護網站上的哪個位置感到困惑。 – leehamil

+0

在頂部..因爲您可以設置標題(「位置:」)來重定向用戶,例如如果他沒有登錄。如果你輸了內容,你不能再做了,因爲頭已經被髮送了。 – tobspr

相關問題