PHP密码保护附加到图像的链接


PHP password protect a link attached to an image

大家好!我正在为我爸爸建一个网站。他是一名会计。我们为他设置了谷歌日历以进行预约。该网站只是一个漂亮的首页,有三个可点击的图像链接到不同的日历。其中两个按钮链接到员工日历,没有密码保护,这很好。我们希望新人能够为他们注册。然而,我爸爸已经超额预订,需要保护他的链接密码,这样他就可以把密码发给特定的客户,让他们预约。他不想见到新人。

我可以使用html和css,但对PHP/MYSQL来说完全是个新手。在过去的几天里,我做了很多研究,下载了很多教程/示例代码,但我仍然感到困惑。这是我在修改了一些示例代码之后所得到的。我将密码设置为barney,不需要用户名,并将其作为php1.php保存在名为protect的子文件夹中。我记得在某个地方读到,这很好地帮助人们绕过密码。

  <?php
$password = "barney";
if (md5($_POST['txtPassword']) != $password) {
?>
<h1>Login</h1>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

        <p><label for="txtpassword">Password:</label>
    <br /><input type="password" title="Enter your password" name="txtPassword" /></p>

    <p><input type="submit" name="Submit" value="Login" /></p>
</form>
<?php
}

在这之后,我陷入了困境。。。我不知道如何将此应用于我的html页面并将其附加到图像/链接。非常感谢您的帮助!非常感谢!!

这里的明显问题是,您正在将密码$password与提交密码的md5版本进行比较。它们会有所不同,所以你总是会看到登录表格。

更换为

<?php
$password = "barney";
if ($_POST['txtPassword'] != $password) {
    ?>Login form here<?php
} else {
     ?>Restricted access here<?php
}

但你应该记住,这样的方案仍然是糟糕的做法和低安全性:

  • 密码以纯文本形式存储
  • 你不检查有多少用户尝试检索密码(请参阅暴力攻击)

如果你不想使用PHP文件,你可以随时修改.htaccess文件(如果你可以使用的话)。

以下是快速操作方法:http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/

以下是更详细的信息:http://www.javascriptkit.com/howto/htaccess3.shtml