Odin Fixed Files | Login.php

05/10/2016 23:05 Venipa#1
Code:
<?php
require_once("./config.php");

if (!isset($_GET['Username'])) //USERNAMESTRING
    $user = mysql_escape_string($_GET['']);
else
    $user = sql_clean($_GET['Username']);

if (!isset($_GET['Password'])) //PASSWORDSTRING
    $passhash = mysql_escape_string($_GET['']);
else
    $passhash = sql_clean($_GET['Password']);
 
 
$con = odbc_connect($conf['db_name'], $conf['db_user'], $conf['db_pass']) or die('ODBC Connection connect Fail.');
 
$exec = odbc_exec($con, "SELECT nEMID, sUserPass, nAuthID FROM tAccounts where sUsername = '$user'");
 
if($exec)
{
    if(odbc_num_rows($exec) != 1)
    {
        die('Account Not Found.');
    }
    $AccountData = odbc_fetch_object($exec);
    $PlaintxtPass = $AccountData->sUserPass;
    $PlaintxtnEMID = $AccountData->nEMID;
	$Auth = $AccountData->nAuthID;
	
	$fetch_Status = odbc_exec($con, "SELECT nLoginable FROM tAuth where nAuthID = '$Auth'");
	$get_Status = odbc_fetch_object($fetch_Status);
	$Status = $get_Status->nLoginable;
	
    if ($conf['Wartung'] == '1' and ($Status == '0')){

        die('Maintenance');


}
	if ($Auth == 3 OR $Auth == 9 OR $Auth == 2)
	{
	if (MD5($PlaintxtPass) == MD5($passhash))
    {
        $Token = RandomToken(50);
 
        $setToken = null;
 
        if (odbc_num_rows(odbc_exec($con, "SELECT * FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'")) >= 1)
        {
            odbc_exec($con, "DELETE FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'");
            $setToken = odbc_exec($con, "INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");
        }
        else
            $setToken = odbc_exec($con, "INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");
 
        if ($setToken)
            die('OK#'.$Token);
        else
            die('SetToken Error');
    }
    else
    {
        die('Wrong Password.');
    }

	}
	elseif ($Auth == 2)
    {
        die('Maintenance');
    }
	elseif ($Auth == -1)
	{
        die('Account wurde gebannt');
	}

	
	
	}
else
{
    die('Query Failed');
}






odbc_close();
 
function sql_clean($str)
{
    $search  = array('^', '°', '!', '"', '²', '§', '³', '$', '%', '&', '/', '{', '(', '[', ')', ']', '=', '}', '?', '\'', '´', '`', '€', '*', '+', '~', '#', "'", '<', '>', '|', 'µ', ';' , 'UPDATE' , 'RESTORE' , 'UNION' , 'SELECT' , '*' , ' FROM' , 'DATABASE' , 'DROP' , '\0' , '\\' , '\n' , '\r');
    $replace = array('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' , '', '', '', '', '', '', '', '', '', '', '', '');
	return str_replace($search, $replace, $str);
}
 
function RandomToken( $length )
{
        $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        $str = "";
        $size = strlen( $chars );
        for( $i = 0; $i < $length; $i++ ) {
                $str .= $chars[ rand( 0, $size - 1 ) ];
        }
 
        return $str;
}
?>
if(odbc_num_rows($exec) != 1)
{
die('Account Not Found.');

da liegt das Problem "Account Not Found"
nun weiß ich nicht wie ich es "fixen" soll.
Benutze grade diese Login.php mit dem Launcher von Hymn.

Launcher Design :3
05/10/2016 23:14 Desponia#2
kann das sein das du die md5 noch im launcher hast und deine datenbank ohne md5 läuft?
05/10/2016 23:20 Venipa#3
Quote:
Originally Posted by Desponia View Post
kann das sein das du die md5 noch im launcher hast und deine datenbank ohne md5 läuft?
Ich habs mit und ohne probiert habe es im browser die verschiedenen möglichkeiten probiert: login.php?Username=test&Password=pw
und halt noch in md5 ausprobiert ^^
05/11/2016 09:28 『  』#4
Hat erstmal nichts mit dem Passwort zu tun, da er sich erst die Daten vom User holt
( Warum auch immer ... ).

Finde den Fehler:
[Only registered and activated users can see links. Click Here To Register...]

Quote:
Hinweis:
Bei vielen Treibern wird -1 als Anzahl möglicher Zeilen nach einem SELECT-Befehl zurückgeliefert.
@ [Only registered and activated users can see links. Click Here To Register...]
05/11/2016 20:41 Venipa#5
Quote:
Originally Posted by 『  』 View Post
Hat erstmal nichts mit dem Passwort zu tun, da er sich erst die Daten vom User holt
( Warum auch immer ... ).

Finde den Fehler:
[Only registered and activated users can see links. Click Here To Register...]
Das heißt das es jetzt in den minus bereich zählt?
05/12/2016 16:08 dragonhunter09#6
:rtfm:

steht alles im top rated kommentar von der function reference...
Das Googlen wurde dir doch schon abgenommen^^
man muesste allerdings 2 Klicks machen und etwas scrollen :rolleyes:

[Only registered and activated users can see links. Click Here To Register...]


aber um deine Frage korrekt zu antworten: du erhaelst unabhaengig von der Zeilenanzahl -1 als rueckgabewert ;)



Etwas selbstaendigkeit sollte fuer die problemloesung ja nich zuviel erwartet sein xD

aber so is die section, bzw ein grossteil der user halt xD warten bis man was fertig ausgearbeitetes vor die fuesse geworfen bekommt, and dann bloss aufsetzen.
Ich kann jeden verstehen der sich sagt "ich helf nich mehr, ich release nich mehr" daher gibts mich ja auch nurnoch passiv xD


Also comunity, bisschen eigeninitiative hat noch nie wehm geschaded.



uebrigens die zweite richtig dirty solution die ich nur leuten empfehln wuerd die ich echt hass waer einen xampp service zu installiern der so veraltet ist das er ne php version unter 5.3 mit an start bringt xDDD
muesstest script dann nur auf mssql_*() functions aendern xD
dann geht mssql_num_rows() auch richtig ;)
05/12/2016 17:49 Venipa#7
Quote:
Originally Posted by dragonhunter09 View Post
:rtfm:

steht alles im top rated kommentar von der function reference...
Das Googlen wurde dir doch schon abgenommen^^
man muesste allerdings 2 Klicks machen und etwas scrollen :rolleyes:

[Only registered and activated users can see links. Click Here To Register...]


aber um deine Frage korrekt zu antworten: du erhaelst unabhaengig von der Zeilenanzahl -1 als rueckgabewert ;)



Etwas selbstaendigkeit sollte fuer die problemloesung ja nich zuviel erwartet sein xD

aber so is die section, bzw ein grossteil der user halt xD warten bis man was fertig ausgearbeitetes vor die fuesse geworfen bekommt, and dann bloss aufsetzen.
Ich kann jeden verstehen der sich sagt "ich helf nich mehr, ich release nich mehr" daher gibts mich ja auch nurnoch passiv xD


Also comunity, bisschen eigeninitiative hat noch nie wehm geschaded.



uebrigens die zweite richtig dirty solution die ich nur leuten empfehln wuerd die ich echt hass waer einen xampp service zu installiern der so veraltet ist das er ne php version unter 5.3 mit an start bringt xDDD
muesstest script dann nur auf mssql_*() functions aendern xD
dann geht mssql_num_rows() auch richtig ;)
hab jetzt mein eigenes login script gemacht. :/ aber danke für die antworten :)