首页 文章

特定页面的密码保护

提问于
浏览
0

我一直在用PHP创建一个教育网站,我决定向公众密码保护页面,除非他们已经登录 - 在这种情况下,学生 .

涵盖的主题是GCSE数学,英语和历史,我想通过密码锁定页面 .

我看过的选项是:

.htpassword =这里不相关

各种密码保护脚本=他们可以锁定页面,但人们可以查看 all pages - 没什么用,当我想让人们为不同的网页输入不同的密码时(例如,你访问GCSE英文文献的页面,你使用一个单独的密码登录后查看,您访问GCSE Maths代数页面,登录后输入不同的密码即可查看 . )

用户注册不是学生, I'm creating the users and passwords - 防止无用的注册等 .

它是主要的问题,除了用户登录之外它是如何 use a different password on every protected page 所以你会建议什么?

我已经完成了我的研究,但我不确定下一步该怎么做,所以我应该从哪里开始呢?

很抱歉,如果它看起来很复杂,那么这个问题对我来说非常重要,我在网上找到的脚本似乎都不适合这个,而且我的PHP编码技巧对初学者来说很好,但不是在PHP中保护文件的方面 .

(我考虑过CMS,但由于该网站是以前HTML页面的PHP改编版,对于它所针对的受众来说没有意义 - 它是一个教育网站,而不是一个商业网站,网站本身就是无论如何将服务器移动到新的Apache服务器 . )

3 回答

  • 1

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

    它只需要一个额外的数据库表来将用户链接到材料 .

  • 0

    我能提出的最基本的事情就是创建一个包含页面,用户名和密码的数组的PHP文件 .

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

    然后检查您的页面 . 也许通过$ _GET或使用POST制作一个简单的表单 .

  • 0

    您可以使用 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.
      }
    ?>
    

    您可以使用 MySqlpasswordsusername 存储在其中 . 或者只需在服务器中创建 array (存储数据)文件和 login (处理登录)文件 .

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

    希望这可以帮助 .

相关问题