Hoe kan je veilig inloggen met ajax? Op dit moment heb ik gewoon een formulier dat met post de username en pass doorsturen nadat er op een button is gedrukt. Waar moet ik op letten als ik dit met ajax wil doen?
ik zie dat dit werkt met een GET.
is dit veilig in AJAX?
want ik weet dat bij een login (in normale omstandigheden) een GET method wordt vermeden. (veiligheidsredenen)
en wat een toeval :D
ik ben ook bezig met een login formulier in AJAX :D
maar ik weet niet echt specifiek wat ik moet doen :S
ik heb juist het probleem dat ik niet goed weet hoe ik de gegevens moet in mijn url stoppen, want het is een beetje moeilijk met te weinig aanhalingstekens :S
var layerId;
var postValues = new Array();
function loadPost(postName, postLayer){
postValues[postName] = document.getElementById(postLayer).value;
}
function postAjaxAction(_layerId, _url){
layerId = _layerId;
var _parameters = "";
for (var x in postValues){
var value = postValues[x];
_parameters += x + "=" + value + "&";
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null){
alert ("Browser does not support HTTP Request");
return;
}
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("POST",_url,true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", _parameters.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(_parameters);
}
var xmlhttp;
function GetXmlHttpObject(){
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject){
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function stateChanged(){
if (xmlhttp.readyState==3){
document.getElementById("ajaxProgress").style.display = 'block';
}else{
document.getElementById("ajaxProgress").style.display = 'none';
}
if (xmlhttp.readyState==4){
document.getElementById(layerId).innerHTML = (xmlhttp.responseText);
//document.getElementById("error");
}
}
Bij mij is het mooi gelukt :) en ik ben er blij mee.
Er staan her en der wel een paar foutjes in :s Ik weet niet in hoeverre dit problemen kan opleveren. Dus als iemand hier opmerkingen over heeft, gelieve mij dit te melden.
GET is afgeraden voor logins, in logbestanden zie je dan die gegevens.
Niet wenselijk.
Die 'encrypties' van jou iswaarschijnlijk md5 (vBulletin gebruikt dit bv).
Deze werkt als volgt: het slaat de wachtwoorden md5-hashed op in de database.
Voor het verzenden maakt javascript al een hash van het wachtwoord.
Dat is beter als plaintext over het internet versturen, maar je hebt md5 databases.
Beter is dus md5-hashen, en het beste is HTTPS.