【问题标题】:simple .htaccess password generation / update using php without database使用没有数据库的 php 生成/更新简单的 .htaccess 密码
【发布时间】:2011-04-20 14:37:33
【问题描述】:

我正在使用Apache/2.2.17 (Win32) PHP/5.3.0。我的一个目录中有 .htaccess 文件。我想用多个用户名和密码对其进行密码保护。任何人都告诉我如何创建用户名和密码并使用 php 自己更新它,而不使用 MySQL 等数据库服务,并使用一些文本文件来存储登录信息,这样我就可以拥有自己的注册或添加/更新用户页面。

提前致谢...:)

爆破

【问题讨论】:

    标签: php .htaccess apache2 password-protection


    【解决方案1】:
    1. 您可以通过system()exec() 在命令行上运行apache 的htpasswd。这样您就可以确定您使用的是正确的密码生成方法。
    2. 使用 file()explode 在纯 php 中自行完成,并使用 crypt 对密码进行哈希处理。

    【讨论】:

    • 你能给我推荐一个教程吗?我是初学者.. :)
    【解决方案2】:

    您可以使用 PHP 写入您的密码文件。密码可以使用 MD5 加密,所以 PHP 没有问题。

    【讨论】:

    • 你能给我推荐一个教程吗?我是初学者.. :)
    • 然后从头开始:PHP 手册:php.net/manual/en/function.fwrite.phpphp.net/manual/en/function.md5.php 顺便说一句,我不会在使用 PHP 时使用 htaccess 保护,除非你想保护某个文件夹中的每个文件。会话会更方便。
    • 我认为 .htaccess 是保护页面的最佳方式,因为我正在寻找无数据库的解决方案。将我的受保护页面保存在一个目录下将防止我的页面和子目录受到不必要的访问。我是对的吗? :)
    • 在 PHP 级别执行此操作意味着只有 PHP 脚本将受到保护,除非您通过 PHP 调解一切。通过网络服务器进行密码提示可以保护一切。
    • 那你需要先解析密码文件再盲目添加。这不是很方便但可行。您可以使用辅助文件“模拟”数据库:存储登录名/密码的序列化版本,然后在每次添加或编辑用户时重新生成整个密码文件。
    【解决方案3】:

    您提出的问题就像您想要 htpasswd 保护一样,但由于您想通过前端添加/删除用户,您要么必须通过 PHP 运行系统命令,要么构建 PHP/MySQL 解决方案。

    对您而言,实现仅 PHP/MySQL 的解决方案可能会更容易、更安全。除非您真的知道自己在做什么,否则通过 PHP 在您的计算机上运行 sysetem() 和 exec() 并不是一件非常安全的事情。

    看看这个人的教程/php 课程。它应该为您指明正确的方向:

    http://www.emirplicanic.com/php/simple-php-login-class.php

    【讨论】:

    • 谢谢,但我正在寻找没有像 MySQL 这样的数据库服务的解决方案。我有理由 :) .... 我正在尝试依赖 .htaccess 文件或一些文本文件来存储登录信息
    • 那么前两个人会为你指明正确的方向。
    • 但我想要一个初学者教程..
    • 所以你打算只用教程来发展你的一生?学习基础知识,这里有足够的信息来开始挖掘和编写自己的脚本。此外,您想要实现的目标并不常见。 htaccess 密码保护很少与 PHP 添加/编辑用户相结合,因为 PHP 已经提供了更简单的解决方案。
    猜你喜欢
    • 2017-11-20
    • 1970-01-01
    • 2022-01-07
    • 2020-11-17
    • 1970-01-01
    • 2016-07-30
    • 2011-08-04
    • 2015-06-26
    • 2015-10-06
    相关资源
    最近更新 更多