2

我对构建网站非常陌生,并且在过去的几个月里一直在构建一个。我不想在我的网站上添加受密码保护的页面,其中包含要下载的文件库。我已经在我的主页上构建了一个简单的表单,用于输入登录详细信息,但我只想包含密码而不是用户名。我遇到的问题是所有当前的 .htaccess 在线教程都需要用户名和密码,并且您不能在网站上使用自己的登录框。如果有人可以向我提供代码并告诉我将其放在哪里,我将不胜感激。

我的 index.html 上的登录框是一个简单的表单:

<form>
Member login:<input type="password" name="password" />
<input type="button" value="Login" />
</form>

谢谢你看这个,

4

1 回答 1

3

如果需要一个服务器端脚本来检查密码是否正确。

首先,您必须修改表单以调用脚本

<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 将其设为私有(只能由 localhost 访问)并通过 php 脚本包含它。

.htacces 将文件夹设为私有:

Order deny,allow
Deny from all
Allow from 127.0.0.1

更新的 PHP 脚本(secureFolder 是私有文件夹):

<?php
  if($_POST["password"] == "Your password here.") {
    include("secureFolder/members.html");
  }
  else
  {
?>
Error message here.
<?php
  }
?>

请注意,您只能通过这种方式访问​​单个站点。要允许用户在登录后打开多个站点,您需要一个 PHP 会话来保存用户登录并提供页面。

于 2013-01-12T21:41:29.330 回答