仅在我授予他们访问权限时访问网站

时间:2012-07-24 16:04:28

标签: php forms login e-commerce registration

我使用PHP制作了注册表和登录表。注册表将用户信息保存到数据库中。

但是,由于我对PHP很陌生,我想实现这个想法。我还制作了一个电子商务网站的整个模板/主题,但我希望作为一个入口页面成为这个注册表格,当我授予他们访问权限时,我可以看到我的电子商务网站的全部内容。而我是当他们给我注册表格的字段时,让他们访问,他们将无法进入网站,直到我发送密码。所以我的问题是如何实现无法看到整个网站?我需要什么要做什么来保护它?我的意思是我需要在注册表上添加代码?在登录表单或模板/主题?

谢谢!

4 个答案:

答案 0 :(得分:3)

尝试使用$ _SESSION变量。例如,创建一个初始为false的$ _SESSION ['loggedIN']变量。该页面将始终验证该变量以允许或拒绝对内容的访问。

我猜测还有一个登录表单,对吗?

因此,一旦登录表单操作允许,您将只允许access($ _SESSION ['loggedIN'] = TRUE)。当然,存在所有验证和数据库访问过程,但这是解决问题的简单方法。

答案 1 :(得分:2)

您需要在登录页面添加代码。 代码应该处理以下内容:

  1. 创建$ _SESSION []
  2. 创建$ _COOKIE []
  3. 创建一些秘密方式(数据库)以了解会话和cookie不是伪造的。
  4. 当时或页面访问仅限于登录的人

    检查$ _SESSION,$ _COOKIE反对秘密方式(数据库)

答案 2 :(得分:2)

您需要跟踪注册过程,例如跟踪  

     
  • 是发送给用户的电子邮件吗?
  •  
  • 电子邮件何时发送给用户?
  •  
  • 是否有用户确认注册?

然后将列值verified=(boolean)设置为主用户表,以检查用户是否已经过验证 成功登录后使用会话存储数据,您需要在session_start()之后制作简单的IF以限制访问或禁用内容视图。

    if(USER_HAS_ROLE){
     // display_content 
    }else{
     // don't display content
    }
    //----------------
    if(USER_IS_LOGGED_IN){
     // access website
    }else{
     // redirect to login page
    }

答案 3 :(得分:0)

似乎没有提到的一件事是,如果会话loggedIn变量为false,则在header()重定向之后,如果用户的浏览器忽略Location:标题,脚本应该死()。