2010-10-11 49 views
0

我需要確保用戶不會進入下載頁面,除非他們填寫註冊表頁面上的表單。我需要幫助插入會話變量進入提交的腳本,像將會話變量插入PHP表單處理腳本

$_POST['authenticated'] = 'yes'; 

然後在下載頁面上需要這樣的:

<?php 
    session_start(); 
    if($_SESSION['authenticated'] !== 'yes') { 
    header("Location: http://domain.com/default.php"); 
}; 
?> 

我需要讓他們成功地填寫表格 - 然後將其添加到會話 - 然後一次在頁面上 - 清除會話信息,但不知道如何

我需要在正確的方向推如何要求填寫表格以便下載頁面。

編輯 上購置和registration.php(形式)我加了這個

$authReq=$_SESSION['authReq']=rand(1,65535); 

,並在該網頁上的表格(S)我加入這個

<input type='hidden' name='authreq' value='<?PHP=$authReq?>'> 

在處理器腳本(表單提交)我添加了這個:

"$authReq = $_POST["authReq"];" 

,並在最後一頁上,這我試着去限制訪問我的下載-software.php加入這個

<?php 
    session_start(); 
    if($_SESSION['authReq']==$_POST['authReq']) { 
    header("Location: http://kinetick.com/V3/download-free.php"); 
    }; 
?> 

沒有快樂,這是不正確的? THX

回答

1

我通常處理這件事的方法是:

呈現在網頁上的表單:

$authReq=$_SESSION['authReq']=rand(1,65535); 

的形式:

<input type='hidden' name='authreq' value='<?PHP=$authReq?>'> 

,並提交

if($_SESSION['authReq']==$_POST['authReq']) ....

+0

爲會話變量使用隨機數而不是僅爲每個用戶使用相同的會話變量,如問題使用'認證'有沒有優勢? – Catfish 2010-10-11 19:18:00

+0

@FatherStorm,那麼在註冊頁面上添加$ authReq var,在表單中添加一個隱藏的輸入,並在下載頁面添加if的條件?在清理我的代碼之前,要確保我的正確性。再次。 – 2010-10-11 19:22:04

+0

隨機數的優點是它只是增加了一層安全性。只要您記得清除該會話變量,但沒有必要,但由於其工作方式,它會自動清除檢查值並將其重置爲新的值。和YES,在您創建註冊表單時生成$ authReq並在提交時進行檢查。 – FatherStorm 2010-10-11 19:27:35