Hallo,
suche jetzt schon einige Zeit an einem Fehler.
Es sollten eigentlich nur 2 zufällig generierte Codes erzeugt werden, die jeweils in der DB, in der Session und im Formular ersetzt werden. Leider wird der Code in der Datenbank anders gespeichert, d.h. der bsw. per md5 gehaste Code ist nicht der selbe in der Datenbank.
Ich habe den nicht gehashten Code mal per Hand gehasht und gesehen, dass ersetzte Code im Formular (self::assign....) korrekt ist.
Vllt. kann mir ja jemand auf die Sprünge helfen und sieht meinen fehler.
suche jetzt schon einige Zeit an einem Fehler.
Es sollten eigentlich nur 2 zufällig generierte Codes erzeugt werden, die jeweils in der DB, in der Session und im Formular ersetzt werden. Leider wird der Code in der Datenbank anders gespeichert, d.h. der bsw. per md5 gehaste Code ist nicht der selbe in der Datenbank.
Ich habe den nicht gehashten Code mal per Hand gehasht und gesehen, dass ersetzte Code im Formular (self::assign....) korrekt ist.
Vllt. kann mir ja jemand auf die Sprünge helfen und sieht meinen fehler.
PHP-Code:
/* Hash Werte genrieren */
$array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0',
'1', '2', '3', '4', '5', '6', '7', '8', '9');
global $set_comment_salt;
for($i=0; $i<30; $i++) {
$key .= $array[mt_rand(0, count($array)-1)];
$key_valid .= $array[mt_rand(0, count($array)-1)];
}
$key = md5($key);
$key_valid = crypt($key_valid, $set_comment_salt);
$session = mysqli_real_escape_string($this->mysql, session_id());
$_SESSION["key_one"] = $key;
$_SESSION["key_two"] = $key_valid;
if(mysqli_num_rows(mysqli_query($this->mysql,
'SELECT * FROM schluessel WHERE session = "'.$session.'"')) == 0) {
$insert = mysqli_query($this->mysql,
'INSERT INTO schluessel (schluessel, schluessel_valid, session, time)
VALUES ("'.$key.'", "'.$key_valid.'", "'.$session.'", '.time().')');
self::mysql_rollback($insert);
}
else {
$update = mysqli_query($this->mysql,
'UPDATE schluessel SET schluessel = "'.$key.'", schluessel_valid = "'.$key_valid.'",
time = '.time().' WHERE session = "'.$session.'"');
self::mysql_rollback($update);
}
self::assign('key_one', $key);
self::assign('key_two', $key_valid);
// END
Kommentar