Question

Un POST est-il suffisamment sécurisé pour envoyer des informations d'identification de connexion?

Ou une connexion SSL est-elle un obligation ?

Était-ce utile?

La solution

SSL est un must. Le POST n’est pas plus sûr que GET, car il & # 8217; envoie également des messages non chiffrés. SSL couvrira l’ensemble de la communication HTTP et chiffrera l’envoi de données HTTP entre le client et le serveur.

Autres conseils

<shameless plug> J'ai un article de blog qui détaille à quoi ressemble une requête HTTP et comment une requête GET se compare à une requête POST. Par souci de brièveté, GET:

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 POST:

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 n'est qu'une nouvelle ligne)

Comme vous pouvez le constater, la seule différence entre le mode de formation d’une demande et le fait qu’une demande POST utilise le mot POST et que les données du formulaire sont envoyées dans le corps de la demande par rapport à l’URI. Ainsi, utiliser HTTP POST est synonyme de sécurité par obscurité. Si vous souhaitez protéger vos données, vous devez utiliser SSL.

* Notez qu'il sont d'autres différences .

Cela dépend de votre situation. Combien coûterait l'interception des identifiants à quelqu'un?

S'il s'agit simplement d'une connexion à un site logiciel Q + A, le protocole 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.
Il s’agit d’une décision commerciale et non technique.

HTTP POST n'est pas crypté, il peut être intercepté par un renifleur de réseau, par un proxy ou divulgué dans les journaux du serveur avec un niveau de journalisation personnalisé. Oui, le POST est meilleur que le GET car les données du POST ne sont pas normalement enregistrées par un proxy ou un serveur, mais elles ne sont pas sécurisées . Pour sécuriser un mot de passe ou d'autres données confidentielles, vous devez utiliser SSL ou chiffrer les données avant de procéder au POST. Une autre option consisterait à utiliser l'authentification Digest avec le navigateur (voir RFC 2617). N'oubliez pas que le cryptage (développé localement) n'est pas suffisant pour empêcher les attaques par relecture, vous devez concaténer un nonce et d'autres données (par exemple, un royaume) avant de procéder au cryptage (voir la RFC 2617 pour savoir comment cela est fait dans Digest Auth).

SSL est un must:)

HTTP Post est transmis en texte brut. Pour un exemple, téléchargez et utilisez Fiddler pour surveiller le trafic HTTP. Vous pouvez facilement y voir l'intégralité du message (ou via un moniteur de trafic réseau tel que WireShark)

Ce n'est pas sécurisé. Un POST peut être détecté aussi facilement qu’un GET.

Non ... Le POST n’est pas assez sécurisé. SSL est un MUST.

Le POST ne masque que de manière efficace les paramètres dans la chaîne de requête. Quiconque surveille le trafic entre le navigateur et le point final peut toujours récupérer ces paramètres.

Le moyen le plus sûr est de ne pas envoyer du tout les informations d'identification.

Si vous utilisez Authentification Digest , alors SSL est NON . un must.

(NB: je n'insinue pas que l'authentification Digest via HTTP est toujours plus sécurisée que l'utilisation de POST sur HTTPS).

Le POST est un texte en clair.

Une connexion sécurisée est indispensable.

C'est pourquoi on appelle cela une connexion sécurisée.

Non, utilisez SSL.

Avec POST, les valeurs sont toujours soumises sous forme de texte brut, sauf si SSL est utilisé.

La seule différence entre HTTP GET et HTTP POST réside dans la manière dont les données sont codées. Dans les deux cas, il est envoyé en texte brut.

Afin de fournir toute sorte de sécurité pour les identifiants de connexion, HTTPS est un must.

Vous n'avez pas besoin d'un certificat coûteux pour fournir le protocole HTTPS. Il existe de nombreux fournisseurs qui émettront des certificats très basiques pour environ 20 USD. Les plus coûteux incluent la vérification de l’identité, qui est plus une préoccupation pour les sites de commerce électronique.

Une demande POST seule n'est pas sécurisée, car toutes les données sont " travelling " en texte brut.

Vous avez besoin de SSL pour le sécuriser.

Les données POST sont envoyées en texte brut si vous utilisez une connexion HTTP non chiffrée. SI cela est suffisamment sécurisé dépend de votre utilisation (indice: ce n'est pas).

Si le serveur, la machine cliente et TOUTES LES MACHINES ENTRE eux font partie d’un réseau contrôlé et entièrement sécurisé, cela peut être correct.

En dehors de ces circonstances très limitées (et parfois même à l'intérieur de celles-ci), l'authentification en texte brut pose problème.

Veuillez consulter cet excellent article:

Protéger contre les demandes POST malveillantes

https://perishablepress.com/protect-post-requests/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top