当前位置: 首页 > 面试题库 >

在没有数据库或用户名的情况下使用php密码保护文件夹/页面的最佳方法是什么

阮才俊
2023-03-14
问题内容

在没有数据库或用户名但使用数据库的情况下,使用php密码保护文件夹的最佳方法是什么。基本上,我有一个页面,该页面将列出组织的联系人,并且需要使用密码保护该文件夹,而无需为每个用户提供帐户。只有一个密码会经常更改并分发给该组。我知道这不是很安全,但我永远不知道如何做到这一点。最好的方式。

如果用户正确输入密码后可以记住一段时间,那就太好了。

我正在做David Heggie所建议的,除了没有cookie之外。看起来确实不安全,但是最好设置一个不好的密码保护,然后再没有密码保护。

这是针对内部站点的,人们在其中会忘记自己的登录名和密码,并且永远不会经历 注册 过程……除非真的很容易,他们根本不会使用该系统。

我想查看其他解决此问题的方法。

由于用户群不是非常精通技术的人,还有其他方法可以做到这一点。


问题答案:

您可以使用如下形式:

//access.php

<?php
//put sha1() encrypted password here - example is 'hello'
$password = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d';

session_start();
if (!isset($_SESSION['loggedIn'])) {
    $_SESSION['loggedIn'] = false;
}

if (isset($_POST['password'])) {
    if (sha1($_POST['password']) == $password) {
        $_SESSION['loggedIn'] = true;
    } else {
        die ('Incorrect password');
    }
}

if (!$_SESSION['loggedIn']): ?>

<html><head><title>Login</title></head>
  <body>
    <p>You need to login</p>
    <form method="post">
      Password: <input type="password" name="password"> <br />
      <input type="submit" name="submit" value="Login">
    </form>
  </body>
</html>

<?php
exit();
endif;
?>

然后在要保护的每个文件上,放在顶部:

<?php
require('access.php');
?>
secret text

这不是一个很好的解决方案,但它可能会做您想要的

编辑

您可以添加一个logout.php页面,例如:

<?php
    session_start();
    $_SESSION['loggedIn'] = false;
?>
You have logged out


 类似资料:
  • 在我的网站,我正在尝试加载产品项目而不刷新整个页面。我通过和设法做到了这一点。然而我遇到了一个问题。产品项包含单个图像。但由于我将间隔设置为3秒,它会重新下载所有需要的资源,我认为这是一个问题,因为连接速度慢的用户会感到恼火。我在开发工具上模拟了一个慢速连接,只是想看看会发生什么。 这就是结果。重新加载图像或整个product_item页面需要时间。 这是我的密码 现在我想知道什么是高效加载数据的

  • 我现有的Datastax Cassandra设置正在运行。我们刚刚在系统中添加了身份验证,现在我们可以使用我们的AD帐户登录。这非常好,当然有效。但是应用程序需要使用硬编码的用户名/密码才能连接。 在SQL Server中,我们能够设置一个用户作为运行服务,然后它将通过AD连接和工作。然而,在卡珊德拉这是不一样的。 如果我不想在app.config文件中包含用户名,尤其是密码,我有什么选择?

  • 我有一个rest api,它是一个Spring Boot和spring mvc项目。 还有另一个web项目,它是一个普通的spring项目。它的前端如和后端如需要调用。用户需要登录才能使用它。 我不需要对做权限控制,只有登录的用户才能通过的前端和后端访问 有一些解决方案,如、、。 我想尝试这三种方法,然后选择一种。

  • 我正在寻找一种方法来保护PDF文件的密码在飞行中,而不必存储用户的密码在明文。 我想做的是根据PDF规范生成用户和所有者密钥,并使用这些密钥加密文档的字符串和流。是否存在支持此功能的库?

  • 问题内容: 我计划在我的网站上为我的用户存储外国帐户信息,也称为RapidShare用户名和密码等。我想确保信息的安全,但是我知道,如果我对他们的信息进行哈希处理,我将无法将其检索以备后用。 Base64可以解密,因此毫无意义地使用它。我的想法是对用户进行加扰,即使在解密之后,也要以这种方式传递base64前后,如果尝试解密,则会得到一些看上去很有趣的文本。是否有一个php函数接受可以对字符串进行

  • 问题内容: 我正在开发一个网站,用户使用ajax,php和POST方法提交凭据,我想保护登录凭据的格式不是纯文本,但我不想使用SSL我可以在不使用SSL证书的情况下保护密码凭据吗? 谁能给我任何方法的工作示例? 问题答案: 没有一些通道外验证(SSL提供),您将无法完全保护凭据。一个在中间攻击的人永远是可能的。 简而言之,客户端无法完全确定他们正在与服务器通信,而不是在两者之间插入假服务器。