2013-03-31 64 views
0

我一點創建一個網頁位,測試的網頁思想的部分。我想了解如何進行會話保護頁面。我已經密碼保護了頁面,但任何人都可以通過輸入url來訪問頁面。我想保護我的頁面,所以沒有人能做到這一點。我有三個頁面:index.html的,它有它發送形式的password.php的password.php,這可以確保用戶名和密碼是用正確的:「如果statments」(這裏是「如果statment」)會話保護3

if ($username == 'mgmb99'){ 
    if ($password == 'mgmb91mas'){ 
    header('Location: youhere.php'); 
    } else { 
    echo 'your username or password is wrong.<a href="http://www.passwordtest.comze.com"> go back to login page </a>'; 
    }} else { 
    echo 'your username or password is wrong.<a href="http://www.passwordtest.comze.com"> go back to login page </a>'; 
    }; 

,並且是該頁面,一旦你登錄的youhere.php。

+1

不要再次問你的問題。更新您的任何新信息原來的問題(你不提供在這裏。如果有的話,這是不是你的另一個問題惡化與*以下*信息)。在發佈新問題之前,請參閱[關於堆棧溢出](http://stackoverflow.com/about)。 –

+0

好的,我會這樣做的...... – mgmb99

+0

@JohnConde他已經開了這個問題,我不是這樣,建議回到最後一個問題,並且不要這樣的問題。 – samayo

回答

1

有很多很好的例子在線。但是會話限制(和關於這個問題的數據庫)最好用鹽鍵或哈希值。

所以基本上你需要一個ID /用戶名和一個隨機的一段文本和(例如)與SHA1哈希的。

sha1($[your username].'completely random piece of text') 

這將給你一個40個字符的字符串,你可以重現,如果你有用戶名和隨機文本。所以:

如果($ SESSION [ '身份證'] == SHA1($ [用戶名] '完全隨機的一段文字,')){// 現在你知道用戶名是正確的 }

那基本上它。它確實有更多的伎倆。但是絕對不要在會話中放置任何可以讓任何人感興趣的東西。所以只需在會話中使用公共標識(非用戶標識)以及散列數據。

一個簡單的會話的例子是在這裏(沒有檢查,但其不錯的開始):http://www.webdesign.org/web-programming/php/password-protect.11092.html

古德勒克!

0
do like this 
<?php 
session_start(); 
if ($username == `enter code here`) 
{ 
    if ($password == `mgmb91mas`) 
    { 
     $_SESSION[`id`]='Secret code'; 
     header(`Location:page.php`); 
    } 
?> 
and check that id in the next page at start like below 
<?php 
session_start(); 
if($_SESSION['id']!='Secret code') 
{ 
header('Location:inde.php'); 
} 
?>