[英]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创建简单表格。
您可以使用PHP
的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
在其中存储passwords
和username
。 或者可以只在服务器中创建一个array
(用于存储数据)文件和一个login
(用于处理登录名)。
但是我建议您为用户创建一个完善的基于用户的系统,并为注册用户提供一些特别优惠。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.