2010-11-05 6 views
0

Je me souviens d'avoir lu il y a quelque temps que toutes les requêtes GET d'un webbrowser sont consignées. Est-ce correct? Où sont situés ces journaux?Requêtes GET, sécurité et WebServices

Si oui, existe-t-il des solutions de contournement pour éviter de consigner votre nom d'utilisateur et vos mots de passe pour le service Web? Je comprends que je peux changer mon webservice pour accepter POSTS (qui si je me souviens bien l'article dit n'a pas été enregistré) mais le problème que j'ai avec le webservice accepte le GETS et retourne le code XML. Cela semble être une fonctionnalité pratique et quelque chose que je voudrais garder. Quelles sont les meilleures pratiques concernant de tels scénarios?

Répondre

2

Les problèmes spécifiques sont liés aux demandes GET pour l'authentification, où les informations d'identification de l'utilisateur sont envoyées en texte brut en tant que paramètres de requête à l'URL. La plupart des serveurs Web enregistrent le verbe et l'URL pour toutes les demandes. Ainsi, lorsque les informations d'identification font partie de l'URL, elles apparaissent dans le journal du serveur Web. En revanche, les requêtes POST envoient généralement les données dans le corps de la requête, de sorte qu'elles ne s'affichent pas dans les journaux du serveur Web, car la configuration de journalisation standard n'enregistre pas la charge utile des requêtes. Cela dit, même si vous passez à l'utilisation de POST, un administrateur peut toujours configurer le serveur Web hôte pour enregistrer la charge utile de chaque requête.

Et pour répondre à votre question spécifique - non, il n'y a aucun moyen d'empêcher les informations d'identification de l'utilisateur d'être consignées par le serveur Web, si elles font partie de l'URL de la demande. Cependant, vous pouvez (et devriez) changer votre code pour au moins ne pas envoyer les informations d'identification en texte brut, mais au moins les hacher avec un hachage généré par votre service web au début de la session en cours (et mettre un cookie pour Exemple). Étant donné que les cookies ne sont pas connectés sur le serveur et que le hachage change entre les sessions, il est impossible pour quelqu'un d'extraire les informations d'identification du fichier journal uniquement. Sur une note de côté, vous devez également modifier votre service pour décider du format de réponse en fonction du type de contenu accepté spécifié dans la demande, au lieu du verbe de requête.

0

Les requêtes Get sont stockées dans l'historique du navigateur. C'est pourquoi, lorsque vous commencez à taper une URL dans la barre d'adresse, elle peut être complétée automatiquement.