需要登录才能查看的网页

时间:2014-11-20 14:36:47

标签: php security authentication user-controls

我正在创建一个网站,除非您登录,否则我希望网站的许多页面都无法访问,就像Facebook或电子邮件服务一样。

它将是一个流媒体网站,将由数据库驱动,因此必须灵活,因此使用.htaccess和CGI流程是不可能的。

我听说有CMS管理员,但是他们接管了所有东西,除了通过它们你什么也做不了,这是我不想要的东西......所以我一直在思考,并提出了一种方法服务器检查登录,如果没有找到登录,则将其发送到另一页。 这个peusedo代码应该更容易理解:

<?php
  session_start();

  if ($_SESSION["islogged"] == no)
    { load some data and block some OR go to login page; }
?>

但网站将收取服务收费,我不想冒任何泄密的风险,这个想法是我的,我在网上找不到任何东西来帮助我,我不确定是否可能创建一个假会话......我打算加密会话细节,但这里的一些事实会有所帮助。

我需要知道的是:

  1. 这可靠吗?可以被绕过吗?
  2. 还有另一种更好,更安全的方法吗?

2 个答案:

答案 0 :(得分:0)

在执行此操作时,请将用户变量设置为数据库中的实际用户。

所以当用户登录时

$_SESSION['user'] = $_user_record_from_database;

if($_SESSION['user']){
    //Do user logged in stuff
}else{
    //Do user not logged in stuff
}

//To log a user out just set $_SESSION['user'] = NULL

答案 1 :(得分:0)

如果他们没有登录并且您在登录时加密会话,那么这似乎是相当安全的。

但是,我实际上会建议另一种方法。我知道你因为他们的控制而避开了CMS平台,但我建议使用Wordpress。您可以创建自己的插件,并使用短代码在页面上发生各种魔法,只要让WP处理它们就可以处理,并且您的插件可以使用WP登录功能来显示或不显示内容。这为您提供了完全控制,您甚至可以创建自己的注册表单,并根据需要调用WP注册用户功能。

相关问题