使用HTTP authentication with PHP(HTTP 401标头)的好处是什么
而不是使用正常形式提交身份验证?“HTTP身份验证与PHP”的好处
回答
从安全的角度看,既用于发送所述认证数据的基于形式和HTTP Basic Access Authentication使用纯文本。 (当然,HTTP Basic Auth另外使用Base64,但这并不困难。)
虽然HTTP基本身份验证在每个请求上发送身份验证数据,但基于表单的身份验证仅在发送表单时发送身份验证数据(请记住:以纯文本)。通常会话用于在使用基于表单的身份验证时维护状态。
所以,如果你想使用其中之一,一定要加密你的连接使用HTTPS,以防止嗅探和man-in-the-middle attacks。并且,当您选择基于表单和会话的变体时,请确保您的会话处理安全,以防止或至少检测会话欺诈,如Session Hijacking和Session Fixation。
最后一个变体是HTTP Digest Access Authentication。这和基本的主要区别在于,摘要是challenge-response authentication,而客户端必须对每个请求执行挑战,并且响应只是一个MD5哈希。所以没有纯文本验证数据正在发送。
你的问题有点含糊,但一般的答案是,使用这种方法给你一个更“RESTful”的实现,遵循HTTP已经很擅长。在这种情况下,抛出401是其他Web服务器,Web代理和Web浏览器知道如何处理的事情。如果你只是吐出一个HTML表单,它只能由最终用户操作,而使用HTTP状态代码则允许机器交互。
我建议查看http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
以了解HTTP的真正含义。我认为这应该让所有这些都变得更有意义。
您制作网站?如果是的话,然后使用<表格>标签..它更漂亮;)
您让应用程序被其他应用程序访问和派遣某种形式的数据?然后使用HTTP认证。
据我所知,在安全性,速度或其他方面没有太大的区别..它只是丑陋而且容易实现。
作为革命性触发者说的一个例子,我经常在RSS源上为使用基于表单的身份验证的站点使用HTTP身份验证,这很简单,因为许多RSS阅读器可以执行HTTP身份验证,但无法执行基于表单的身份验证。
- 1. Php重定向与http身份验证
- 2. 使用PHP身份验证的HTTP身份验证
- 3. 角度http身份验证与$ http transformResponse
- 4. PHP中的外部HTTP身份验证
- 5. Python身份验证和HTTP cookie处理
- 6. 与NSURLSession的HTTP基本身份验证
- 7. TouchJSON与基本的HTTP身份验证
- 8. JPG,HTTP基本身份验证和PHP
- 9. php进程http身份验证
- 10. 禁用其他身份验证的HTTP基本身份验证
- 11. http基本身份验证与vert.x
- 12. HTTP基本身份验证与Authlogic
- 13. WCF与Http基本身份验证
- 14. HTTP摘要身份验证
- 15. HTTP身份验证cPanel
- 16. http身份验证缓存
- 17. HTTP身份验证VS OAuth VS HttpClient身份验证
- 18. Authlogic - 通过基本HTTP身份验证进行身份验证
- 19. Windows与Linux HTTP身份验证。 javax.net.ssl.SSLPeerUnverifiedException:没有通过身份验证
- 20. 与WOS2身份服务器的PHP身份验证集成
- 21. SQLSever身份验证与Windows身份验证之间的区别
- 22. 使用Windows身份验证与PHP?
- 23. Webtrends API身份验证PHP
- 24. Firebase PHP CURL身份验证
- 25. PHP OpenSSO身份验证
- 26. PHP登录身份验证
- 27. PHP身份验证脚本
- 28. PHP身份验证+ mod_rewrite
- 29. php身份验证xzvxcvb
- 30. Imgur api身份验证PHP
使用基于会话的(和基于表单的)身份验证,这首先更加方便。你可能想看看https://github.com/delight-im/PHP-Auth,它既是框架不可知的,也是数据库不可知的。 – caw 2016-09-22 03:36:05