Un POST est-il suffisamment sécurisé pour envoyer les informations d'identification de connexion?
Ou une connexion SSL est-elle indispensable ?
Un POST est-il suffisamment sécurisé pour envoyer les informations d'identification de connexion?
Ou une connexion SSL est-elle indispensable ?
<shameless plug>
J'ai un blog qui détaille ce une requête HTTP ressemble et comment une requête GET compare à une requête POST. Par souci de concision, d'OBTENIR:
GET /?page=123 HTTP/1.1 CRLF
Host: jasonmbaker.wordpress.com CRLF
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1 CRLF
Connection: close CRLF
et après:
POST / HTTP/1.1 CRLF
Host: jasonmbaker.wordpress.com CRLF
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1 CRLF
Connection: close CRLF
CRLF
page=123
(Le CRLF est juste un retour à la ligne)
Comme vous pouvez le voir, les seules différences du point de vue de la façon dont une demande est formée* est-ce qu'une requête POST utilise le mot POST et les données du formulaire sont envoyées dans le corps de la demande vs l'URI. Ainsi, à l'aide de HTTP POST, c'est la sécurité par l'obscurité. Si vous voulez protéger les données, vous devez utiliser le protocole SSL.
*
Remarque qu'il n'y sont d'autres différences.
Cela dépend de votre situation. Combien coûterait l'interception des justificatifs d'identité?
S'il ne s'agit que d'une connexion à un site logiciel Q + A, SSL n'est peut-être pas nécessaire. S'il s'agit d'un site de banque en ligne ou si vous stockez des données de carte de crédit, c'est le cas.
C'est une affaire, pas une décision technique.
HTTP POST n'est pas chiffré, il peut être intercepté par un renifleur de réseau, par un proxy ou une fuite dans les logs du serveur avec sur mesure un niveau de journalisation. Oui, le POST est mieux que de se parce que les données n'est pas généralement connecté par un proxy ou un serveur, mais il n'est pas sécurisé. Pour sécuriser un mot de passe ou d'autres données confidentielles, vous devez utiliser SSL ou chiffrer les données avant de les publier. Une autre option serait d'utiliser l'Authentification Digest avec le navigateur (voir la RFC 2617). Souvenez-vous que (cultivés à la maison) le chiffrement n'est pas suffisant pour empêcher les attaques de relecture, vous devez concaténer un nonce et d'autres données (par exemple. royaume) avant de les crypter (voir la RFC 2617 pour la façon dont il est fait à Digérer Auth).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.