¿Cuáles son los beneficios de usar HTTP authentication with PHP (encabezados HTTP 401)
en lugar de utilizar una autenticación de formulario normal?beneficios de "Autenticación HTTP con PHP"
Respuesta
Desde la perspectiva de la seguridad, tanto en el formulario basado y HTTP Basic Access Authentication uso de texto plano para el envío de los datos de autenticación. (Seguro, HTTP Basic Aut también usa Base64, pero eso no es problema.)
Mientras que la autenticación básica HTTP envía los datos de autenticación en cada solicitud, la autenticación basada en el formulario solo envía los datos de autenticación cuando se envía el formulario (recuerde: ambos en texto plano). Comúnmente, las sesiones se usan para mantener el estado cuando se usa autenticación basada en formularios.
Así que si quiere usar uno de estos, asegúrese de encriptar su conexión usando HTTPS para evitar olfatear y man-in-the-middle attacks. Y cuando elige la variante basada en la forma y la sesión, asegúrese de proteger el manejo de la sesión también para evitar o, al menos, detectar fraudes de sesión como Session Hijacking y Session Fixation.
La última variante es HTTP Digest Access Authentication. La principal diferencia entre esto y Básico es que Digest es challenge-response authentication mientras que el cliente tiene que cumplir un desafío en cada solicitud y la respuesta es solo un hash MD5. Por lo tanto, no se envían datos de autenticación en texto sin formato.
Su pregunta es un poco vaga, pero la respuesta general es que el uso de este método le da una implementación más "RESTful" que sigue lo que HTTP ya es bueno. En este caso, arrojar un 401 es algo que otros servidores web, proxies web y navegadores web saben cómo manejar. Si solo está escupiendo un formulario HTML, solo puede hacerlo el usuario final, mientras que el uso de los códigos de estado HTTP permite la interacción de la máquina.
Recomiendo consultar http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
para comprender qué es HTTP realmente. Creo que eso debería hacer que todo esto tenga más sentido.
¿Crea sitios web? en caso afirmativo, utilice la etiqueta < > ... es más bonita;)
¿Hace que las aplicaciones accedan a otras aplicaciones y envíen algún tipo de datos? Luego use HTTP auth.
Por lo que sé, no hay una gran diferencia en términos de seguridad, velocidad o lo que sea ... es simplemente feo y más fácil de implementar.
Como ejemplo de lo que dijo revolutiontrigger, utilizo HTTP auth en fuentes RSS para sitios que usan autenticación basada en formularios, simplemente porque muchos lectores RSS pueden hacer autenticación HTTP, pero no pueden hacer autenticación basada en formularios.
- 1. php curl - accediendo a url con autenticación http (necesita ayuda)
- 2. Solicitudes HTTP con autenticación básica
- 3. Autenticación HTTP digest con HttpUrlConnection
- 4. Autenticación SOAP con PHP
- 5. Obtener JSON con Autenticación HTTP con AFNetworking
- 6. caché de autenticación HTTP
- 7. determinando los métodos de autenticación HTTP http
- 8. Enviando encabezados HTTP con HTTP Web Request para autenticación NTLM
- 9. ¿Puedo usar Autenticación básica HTTP con Django?
- 10. PhoneGap FileTransfer con autenticación básica HTTP
- 11. XmlSlurper.parse (uri) con autenticación básica HTTP
- 12. jQuery autenticación HTTP
- 13. HTTP de autenticación de iPhone
- 14. Autenticación HTTP en J2ME
- 15. ¿Cómo puedo usar la Autenticación HTTP básica en PHP?
- 16. Autenticación HTTP condicional básica
- 17. RCurl: Autenticación HTTP cuando el sitio responde con código HTTP 401 sin autenticación WWW
- 18. Atascado con servidor HTTP Python con autenticación básica con BaseHTTP
- 19. EventSource y autenticación http básica
- 20. Ajax: autenticación básica de HTTP y cookie de autenticación
- 21. Usando la autenticación de Windows con php?
- 22. Objetivo-c autenticación básica HTTP
- 23. ¿Puedo usar NSURLCredentialStorage para autenticación básica HTTP?
- 24. Spring Security HTTP Basic Autenticación
- 25. Poner nombre de usuario en apache access_log con PHP y sin autenticación HTTP
- 26. ¿Cómo realizo una solicitud usando autenticación básica HTTP con curvatura de PHP?
- 27. Necesita cuerpo de respuesta de HTTP 500 con file_get_contents (PHP)
- 28. HTTP MAC Autenticación usando C#
- 29. Llamadas de JQuery Ajax con autenticación básica de HTTP
- 30. Código JavaScript puro para autenticación básica HTTP?
Utilice autenticación basada en sesiones (y en formularios) que es, sobre todo, más conveniente. Es posible que desee echar un vistazo a https://github.com/delight-im/PHP-Auth, que es tanto agnóstico como independiente de la base de datos. – caw