繁体   English   中英

“使用PHP进行HTTP身份验证”的好处

[英]benefits of “HTTP authentication with PHP”

使用PHP进行HTTP身份验证有什么好处(HTTP 401标头)
而不是使用正常的表单提交身份验证?

从安全角度来看, 基于表单HTTP基本访问身份验证都使用纯文本来发送身份验证数据。 (当然,HTTP Basic Auth另外使用Base64,但这并不顺便。)

虽然HTTP Basic Auth会在每个请求上发送身份验证数据,但基于表单的身份验证仅在发送表单时发送身份验证数据(请记住:都是纯文本格式)。 通常会话用于在使用基于表单的身份验证时维护状态。

因此,如果您想使用其中一种,请务必使用HTTPS加密您的连接,以防止嗅探和中间人攻击 当您选择基于表单和会话的变体时,请务必保护会话处理,以防止或至少检测会话欺诈,如会话劫持会话固定

最后一个变体是HTTP摘要访问身份验证 这与Basic之间的主要区别在于,Digest是一种质询 - 响应身份验证,而客户端必须在每个请求上完成挑战,而响应只是一个MD5哈希。 因此,不发送纯文本的身份验证数据。

您的问题有点模糊,但一般的答案是使用此方法为您提供了一个更加“RESTful”的实现,遵循HTTP已经擅长的。 在这种情况下,抛出401是其他Web服务器,Web代理和Web浏览器知道如何处理的东西。 如果您只是吐出一个HTML表单,它只能由最终用户操作,而使用HTTP状态代码允许机器交互。

我建议查看http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol以了解HTTP的真正含义。 我认为这应该使所有这一切变得更有意义。

作为revolutiontrigger所说的一个例子,我经常在使用基于表单的身份验证的站点的RSS源上使用HTTP auth,因为许多RSS阅读器可以执行HTTP身份验证,但不能执行基于表单的身份验证。

你做网站? 如果是,那么使用<form>标签..它更漂亮;)

您是否允许其他应用访问应用并分发某种形式的数据? 然后使用HTTP身份验证。

据我所知,在安全术语,速度或其他方面没有太大区别。这只是丑陋而且更容易实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM