繁体   English   中英

特定页面的密码保护

[英]Password protect for specific pages

我一直在用PHP创建一个教育性网站,并且我决定对网页进行密码保护,除非他们已经登录-在这种情况下是学生。

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

我看过的选项有:

.htpassword =此处不相关

各种密码保护脚本=他们可以锁定页面,但人们可以查看所有页面 -使用不多,例如,当我希望人们为不同的网页输入不同的密码时(例如,您访问了GCSE英语文献中的页面,则使用了登录后可以使用单独的密码进行查看,请访问GCSE Maths代数页面,登录后可以输入其他密码。)

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

主要问题不是密码保护,而是除了用户登录名以外, 在每个受保护页面上使用不同的密码 ,那么您会提出什么建议?

我已经完成了研究,但是不确定下一步该怎么做,那么我应该从这里继续前进吗?

很抱歉,如果看起来很复杂,只是这个问题对我来说很重要,而且我在网上找到的所有脚本似乎都不适合这个问题,而且我的PHP编码技能对初学者很有用,但不适用于保护PHP中的文件。

(我曾考虑过使用CMS,但是由于该网站是PHP改编自以前的HTML页面的内容,因此对于目标受众而言,这没有意义-它是教育网站,而不是商业网站,并且网站本身就是将服务器移至新的Apache。)

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

只需一个额外的数据库表即可将您的用户链接到资料。

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

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

然后在您的页面上检查。 也许通过$ _GET或使用POST创建简单表格。

您可以使用PHPsession来执行此操作。 这是会话的完整说明。 但是这是您网站的代码:

<?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 (用于处理登录名)。

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

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM