2010-10-11 87 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