代码之家  ›  专栏  ›  技术社区  ›  Brook Julias

对我来说什么是正确的:htaccess、表单提交、HTTP头验证w/php?

  •  3
  • Brook Julias  · 技术社区  · 15 年前

    我正在创建一个包含多个部分(管理、客户机、用户和匿名)的网站,每个用户组的访问权限都比下一个用户组少。我想知道什么形式的认证最适合我使用?

    我听说如果你只是在处理一个网站,那么一个网络表单就是为你准备的(因为它更漂亮)。据说用PHP进行的HTTP头认证会变得笨拙/草率。htaces几乎是我所查找的各种身份验证方法的核心,但它是否太多了?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Your Common Sense    15 年前

    申请表格(A 阶段 真的。
    现在这是唯一的选择。

        2
  •  2
  •   Artefacto    15 年前

    你把事情搞混了。

    你的三个选择基本上是两个:

    • 使用HTTP身份验证
    • 不使用HTTP身份验证

    它是否由.htaccess文件处理是另一回事。可以使用Apache和PHP进行HTTP身份验证,也可以使用Apache和PHP进行非HTTP身份验证(尽管通常使用PHP进行非HTTP身份验证,使用Apache进行HTTP身份验证)。

    Apache可以将身份验证推迟到几个后端和前端模块(例如,您可以使用CA)。Apache为以下数据库后端提供开箱即用(没有过时的sourceforge模块…):freetds、mysql、oracle、postgresql、sqlite 2/3和一个odbc连接器。

    我个人不喜欢HTTP身份验证。通常,表单更易于用户使用,您可以提供诸如“忘记密码”之类的链接。以及“找不到用户名”。

    我还将使用PHP实现身份验证,因为它更易于移植(您可以交换Web服务器)。

        3
  •  0
  •   mario    15 年前

    首先,对于您的应用程序,您应该使用更简单的登录表单/会话方法。因为您希望在应用程序用户组中使用,所以在应用程序身份验证中也使用是有意义的。从技术上讲,对于权限系统,使用哪种身份验证方法没有区别。但你知道,为了简单和保持所有授权资料在一起…

    对HTTP认证的憎恨被误解了,顺便说一句,如果你使用HTTP摘要,它是更强大的认证方法;这在PHP中很难实现。
    只有当你做错了才是可用性的噩梦。实际上,也可以使用登录表单启动HTTP登录。使用XMLHttpRequest可以成功触发HTTP身份验证。随着更多的工作(401和新领域),漂亮的注销也是可能的。如果没有启用javascript,它显然会回到枯燥的登录对话框/readline上。但我个人使用纯文本浏览器有一段时间了,我更喜欢它。

    此外,如果您的管理组是严重的业务(原始数据库访问工具等),您应该应用这两种方法。使管理界面与应用程序分离,应用登录表单和.htaccess限制。安全总比抱歉好。