Hallo zusammen!
Ich habe mal eine kleine Frage zu der ich mir einen Lösungsansatz überlegt habe, den ich aber nicht 100% überzeugend finde.
Folgende (häufig auftretende) Sachlage.
Ich bastel gerade an einer Seite, bei der sich Mitglieder anmelden können. Die Seite soll, damit es flotter geht, ungesichert - also über http laufen. Die Anmeldung soll aber natürlich über eine gesicherte Verbindung laufen, also https.
Der normale Weg - also über Formular - ist natürlich kein Problem.
Ich möchte diesen Punkt aber - wie den Rest der Seite auch - komplett über AJAX steuern, das Formular wird also nur als Fallback beibehalten.
So einfach geht das mit AJAX ja aber nicht. Darum kam mir folgende Idee:
Ich lege mir in der https-Umgebung eine ASP-Seite an, der ich den Content-Type text/javascript mitgebe und das Caching verbiete.
Diese ASP-Seite rufe ich von der http-Seite aus dynamisch auf, etwa so:
function doValidate(usr,pwd){
var ajaxScript = document.createElement('script');
ajaxScript.type = 'text/javascript';
ajaxScript.src = 'https://sichererServer/script.asp?usr=' + encodeURIComponent(usr) + '&pwd=' + encodeURIComponent(pwd);
document.getElementsByTagName("head")[0].appendChild(ajaxScript);
}
In der aufgerufenen ASP-Datei prüfe ich zunächst den HTTP_REFERER, der in dem Moment ja meine http-Seite sein muß. Wenn das stimmt, dann prüfe ich die übergebenen Daten und (wenn die Daten passen) generiere den passenden Javascript-Code, der u.A. die Benutzerdaten auf der Seite einträgt.
Nun bin ich mir nicht sicher ob
- die Daten die ich sende auch schon verschlüsselt sind. Normalerweise - wenn ich es richtig verstanden habe - sind sie es.
- das die beste Art und Weise ist, dieses Problem zu lösen. Vielleicht hat jemand eine viel einfachere Idee...
Vielen Dank
Matthias