Autor Zpráva
Jason
Profil *
Ahoj, udělal jsem podmínku
if($contpassword == $password) { echo"baf"; } else { echo"a"; } 


kde $contpassword je uloženy password v databázi v md5, a $password je poslaný přes ajaxu a taky předělaný na md5.
Podmínka má zkontrolovat jestli se hesla shodují, ale vždycky vyjdé false tedy echo "a". Zkontroloval jsem to okem a shoduje se, ale podmínka mi říka že né. Nevim včem je problém, jestli v kodováni nebo včem?

takle posílam údaje
nacist("user.php?email="+email+"&password="+password,"linka");


Děkuji předem
regy
Profil
Takže když jsi místo podmínky napsal echo $contpassword."<br>".$password; tak ti to píše to samé?
Jason
Profil *
regy:
jj, přesně to souhlasilo.. ani mezera navíc, dukladně jsem to prohlédnul..

ovšem když skusim přiřadit $contpassword = $password tak to samozřejmě funguje..
nebo když heslo neodesílám pře GET ale už si ho tam přímo napíšu $password = md5("heslo"); tak to taky fuguje.. takže musí byt chybá když se to odesíla
Majkl578
Profil
$_GET['password']?
Posílat heslo v URL není zrovna vhodné.
Jason
Profil *
Majkl578:
nj, ale tak jak se bezpečně a dynamicky přihlásit, mam formulář k přihlášení a po kliknutí na button se spustí funkce
nacist("user.php?email="+email+"&password="+password,"linka");

která mi načte do linka obsah, tedy proměné (nickname, datum registrace apod.)

nic mě tet nenapadá jak bych mohl odeslat heslo s navrácením hodnot. V ajaxu znám jen toto

function nacist(url,typ) {
 
     if (url != 0)
     {
        if (window.ActiveXObject)
        {
          httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else
        {
          httpRequest = new XMLHttpRequest();
        }
        httpRequest.open("GET", url, true);
        httpRequest.onreadystatechange= function () {processRequest(typ); } ;
        httpRequest.send(null);
	httpRequest.Header("Content-Type", "application/x-www-form-urlencoded");
      }
      else
      {
 
        document.getElementById(typ).innerHTML = "";
        
      }
}
 
function processRequest(typ)
{
      document.getElementById(typ).innerHTML = httpRequest.responseText;
}


toto mi načte do tagu ty proměné s php, a zároven mužu přes url odeslat hodnoty..
Takže jak to heslo mužu bezpečně odeslat s navrácením proměných?
AM_
Profil
Určitě přes POST, najdi si někde, jak se přes AJAX posílají POST data.
Pokud je MD5 otisk stejný, tak se původní data určitě neliší ani o mezeru, protože hash má fungovat právě tak, že drobná změna vstupu => totální změna hashe. Takže možná se ti nějak podařilo dostat na konec jedné z proměnných třeba newline. Zkus si u obou vypsat strlen() - u MD5 by mělo být obojí 32. Pokud ne, máš tam něco navíc, pokud ano, zřejmě jsi objevil nějaký divný bug v PHP.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: