Chiffrement des données HTTP POST
J'ai un HTTP POST-chaîne que je suis en cours d'exécution à partir d'un client rpc programme sur un serveur exécutant Apache. Voici le POST de la chaîne qui serait tiré par les clients:
"POST %s HTTP/1.0\r\n"
"Host: %s\r\n"
"Content-type: multipart/form-data\r\n"
"Content-length: %d\r\n\r\n"
"Content-Disposition: %s; filename: %s\n"
Ce serait sympa si quelqu'un pouvait m'aider à comprendre comment ai-je pu chiffrer les données qui se trouve dans la Content-Disposition:
champ.
Aussi, j'ai remarqué que même si je mets quelque chose hors de propos, à droite de la POST-chaîne, comme: "POST %s HTTPGarbage/1.0\r\n"
, le transfert se produit toujours, il serait grand si je suis informé à propos de ce comportement ainsi.
Merci,
Sayan
- Êtes-vous en utilisant le protocole HTTP ou HTTPS? Votre question est marqué à la fois.
- Eh bien je me disais si il existe un moyen d'utiliser le protocole HTTPS dans le cryptage des données, et donc la balise.
- En effet, si vous utilisez le protocole HTTPS, toutes les données sont automatiquement cryptées.
- Oui, il y a une confusion que j'ai en la matière. Si je viens de préciser mon hôte/serveur pour être quelque chose comme "voyage..." est-il garanti que tous les transferts de données à cet hôte serait chiffré?
- Notez que votre code ne fonctionnera plus si le nom contient un caractère non autorisé dans les jetons, comme un caractère d'espace.
- Je crois que je vais répondre à ce qui est sur ma tête. Un navigateur normalement gérer le chiffrement SSL, mais depuis il n'y a pas de navigateur côté client, donc je serais probablement besoin d'utiliser une bibliothèque SSL ou quelque chose pour chiffrer les données moi-même. Oui Julien, je voudrais vérifier le nom de fichier de la conformité avant d'envoyer la charge utile.
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez le protocole HTTPS (qui est essentiellement le protocole HTTP sur SSL/TLS), tout le trafic HTTP sera chiffré à partir du moment où la connexion SSL/TLS est établi (à condition que vous êtes en utilisant les suites de chiffrement appropriées), qui, avant toute communication HTTP. Seul le certificat de serveur (qui peut révéler le nom de l'hôte) sera visible, et peut-être le certificat du client dans certains cas (si vous utilisez également le client certificat d'authentification). L'URL et tous les en-têtes HTTP (et le contenu) sera protégée avec le protocole SSL/TLS de cette façon.
Si vous n'utilisez pas un navigateur en tant que client, vous pouvez utiliser les SSL/TLS bibliothèques comme NSS (Mozilla) ou OpenSSL. Assurez-vous de configurer le certificat de confiance et le nom d'hôte de vérification correctement.