【问题标题】:Password protect for specific pages特定页面的密码保护
【发布时间】:2011-07-31 13:25:05
【问题描述】:

我一直在用 PHP 制作一个教育网站,我决定对公众使用密码保护页面,除非他们已登录 - 在这种情况下是学生。

涵盖的科目是 GCSE 数学、英语和历史,我想通过密码锁定页面。

我查看的选项是:

.htpassword = 此处不相关

各种密码保护脚本 = 他们可以锁定页面,但人们可以查看 所有页面 - 没什么用处,比如我希望人们为不同的网页输入不同的密码(例如,您访问GCSE英语文学页面,登录后使用单独的密码查看,访问GCSE数学代数页面,登录后输入不同的密码查看。)

用户注册不是问题,因为他们是学生,我正在创建用户和密码 - 防止无用的注册等。

主要问题不是如何进行密码保护,而是如何在每个受保护的页面上使用不同的密码,除了用户登录之外,您有什么建议?

我已经完成了我的研究,但不知道下一步该去哪里,那么我应该从哪里开始呢?

对不起,如果它看起来很复杂,只是这个问题对我来说相当重要,我在网上找到的脚本似乎都不适合这个,我的 PHP 编码技能对初学者来说很好,但在保护文件方面不在 PHP 中。

(我曾考虑过 CMS,但由于该网站是从以前的 HTML 页面改编而来的 PHP 版本,因此它的目标受众没有任何意义 - 它是一个教育网站,而不是商业网站,而且无论如何,网站本身正在将服务器转移到新的 Apache 上。)

【问题讨论】:

    标签: php password-protection


    【解决方案1】:

    在实际注册您的用户时,为什么不给您的用户权限而不是额外的密码呢?如果您为学生添加额外的材料,这将更有效并为您的解决方案增加灵活性。

    只需要一个额外的数据库表就可以将您的用户链接到材料。

    【讨论】:

      【解决方案2】:

      我能想到的最基本的东西,就是制作一个包含页面、用户名和密码的数组的 PHP 文件。

      <?php
      $protected = array(
          'history.php' => array(
              'mike'  => 'pswrd',
              'ryan'  => 'pswrd',
          ),
          'maths.php' => array(
              'mike'  => 'pswrd',
              'ryan'  => 'pswrd',
          ),
      );
      ?>
      

      然后在您的页面上检查此内容。也许通过 $_GET 或使用 POST 制作一个简单的表单。

      【讨论】:

        【解决方案3】:

        您可以使用PHP 中的session 执行此操作。这是session的完整解释。 但这是您网站的代码:

        <?php
          if(isset($_SESSION['USER_NAME'])) //Checking if the session is available or not.
          {
              echo 'Private Content!'; //Show the private content.
          }
          else
          {
              echo 'You have no rights to view this page!'; //Error message.
          }
        ?>
        

        您可以使用MySql 将您的passwordsusername 存储在其中。或者可以在您的服务器中创建一个array(用于存储数据)文件和一个login(用于处理登录)文件。

        但我建议您为您的用户创建一个完善的基于用户的系统,并为注册用户提供一些特别优惠。

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2011-08-04
          • 2018-05-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-10
          • 1970-01-01
          • 2011-06-21
          相关资源
          最近更新 更多