我对构建网站非常陌生,并且在过去的几个月里一直在构建一个网站。我不想在我的网站上添加受密码保护的页面,其中包含要下载的文件库。我已经在主页上构建了一个简单的表单,用于输入登录详细信息,但我只想包含密码而不是用户名。我遇到的问题是,当前所有的 .htaccess 在线教程都需要用户名和密码,并且您无法在网站上使用自己的登录框。如果有人可以向我提供代码并告诉我将其放在哪里,我将不胜感激。
我的index.html 上的登录框是一个简单的表单:
<form>
Member login:<input type="password" name="password" />
<input type="button" value="Login" />
</form>
感谢您查看此内容,
乔
最佳答案
如果需要一个服务器端脚本来检查密码是否正确。
首先,您必须修改表单才能调用脚本
<form action="login.php" method="post">
Member login:<input type="password" name="password" />
<input type="submit" value="Login" />
</form>
变化:
- action:定义用户单击提交按钮时调用的脚本
- input type=submit:提交按钮,使表单将其数据发送到服务器
- 方法:定义数据传递到服务器的方式
“login.php”的一个简单示例是以下 PHP 脚本:
<?php
if($_POST["password"] == "Your password here.") {
?>
Your website here.
<?php
}
else
{
?>
Error message here.
<?php
}
?>
第 2 行检查表单发布的密码字段是否等于右侧的字符串(“此处为您的密码”)。
文本“您的网站在这里。”当密码正确时,将显示 。否则会显示“此处有错误消息”。您可以用常规 HTML 代码替换该文本。
除了您的评论:
登录后您不应该重定向到 HTML 文件,因为该文件必须是公开的才能重定向到它。 相反,您应该使用 .htaccess 将其设为私有(private)(只能由本地主机访问)并通过 php 脚本包含它。
.htacces 将文件夹设为私有(private):
Order deny,allow
Deny from all
Allow from 127.0.0.1
更新的 PHP 脚本(secureFolder 是私有(private)文件夹):
<?php
if($_POST["password"] == "Your password here.") {
include("secureFolder/members.html");
}
else
{
?>
Error message here.
<?php
}
?>
请注意,您只能通过这种方式访问单个站点。要允许用户在登录后打开多个站点,您将需要一个 PHP session 来保存用户登录并提供页面。
关于.htaccess - 使用 .htaccess 为页面设置密码,没有用户名,只有密码和 html 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298130/