|
You last visited: Today at 07:05
Advertisement
Login.php Fehler
Discussion on Login.php Fehler within the Fiesta Online forum part of the MMORPGs category.
02/20/2016, 02:14
|
#1
|
elite*gold: 0
Join Date: Feb 2016
Posts: 114
Received Thanks: 13
|
Login.php Fehler
Hallo ich habe ein Problem mit der Login.php Datei, egal was ich versuche ich weiß nicht woran es liegt, ich bekomm immer die Meldung: Wrong Username
obwohl ich den Username richtig eingegeben habe und dieser auch in der Datenbank existiert.
Weil wenn ich die IP eingebe und dann den Link
dann erhalte ich immer Wrong Username
obwohl "Beispiel" in der DB existiert.
die PHP Datei:
<?php
$conf['db_host'] = "Server\Server";
$conf['db_user'] = "sa";
$conf['db_pass'] = "Passwort";
$conf['db_name'] = "OdinAccounts";
if (!isset($_GET['Username']))
$user = sql_clean("");
else
$user = sql_clean($_GET['Username']);
if (!isset($_GET['Password']))
$passhash = sql_clean("");
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 FROM dbo.tAccounts where sUsername = '$user'");
if($exec)
{
if(odbc_num_rows($exec) != 1)
{
die('Wrong Username.');
}
$AccountData = mssql_fetch_assoc($exec);
$PlaintxtPass = $AccountData['sUserPass'];
$PlaintxtnEMID = $AccountData['nEMID'];
if (MD5($PlaintxtPass) == $passhash)
{
$Token = RandomToken(35);
$setToken = null;
if (odbc_num_rows(mssql_query("SELECT * FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'")) >= 1)
{
odbc_query("DELETE FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'");
$setToken = mssql_query("INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");
}
else
$setToken = mssql_query("INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");
if ($setToken)
die('OK#'.$Token);
else
die('SetToken Error');
}
else
{
die('Wrong Password.');
}
}
else
{
die('Query Failed');
}
odbc_close();
function sql_clean($str)
{
$search = array("\\", "\0", "\n", "\r", "\x1a", "'", '"');
$replace = array("", "", "", "", "", "", "");
return str_replace($search, $replace, $str);
}
function RandomToken( $length )
{
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789";
$str = "";
$size = strlen( $chars );
for( $i = 0; $i < $length; $i++ ) {
$str .= $chars[ rand( 0, $size - 1 ) ];
}
return $str;
}
?>
?>
wenn ich bei:
if (!isset($_GET['Username']))
$user = sql_clean("");
else
$user = sql_clean($_GET['Username']);
anstelle von "Username" dann "Accountname" eingebe, dann erhalte ich die Meldung: "Wrong Username". Habe ich aber Username stehen dann bekomm ich die Fehlermeldung:
Fatal error: Call to undefined function mysql_fetch_assoc() in C:\xampp\htdocs\Login\Login.php on line 32
Wäre jemand so freundlich und würde mir sagen was falsch ist? Oder wieso es nicht funktioniert?
Weil ich hatte mal einen Root server auf dem lag die Login.php genau diese wie oben im spoiler drin steht, genau diese hat auf dem alten Root server funktioniert, aber als ich beschloss mir einen günstigeren Root server zu mieten habe ich die Files gesichert ein Backup davon gemacht, sie extern gespeichert und den alten Rootserver gekündet und als ich den neuen günstigeren bekam, habe ich alles was ich auf dem alten Server hatte auf den neuen rüberkopiert so wie es war alles an der Stelle wo es war
aber nun geht die Login.php nicht mehr und ich weiß nicht wieso.
Ich habe nichts daran verändert, jeden Schritt befolgt und alles wieder an Ort und Stelle gebracht wie auf dem Alten Server ich weiß nicht wieso es nicht mehr auf dem neuen Server funktioniert.
Ich bitte um Hilfe
|
|
|
02/20/2016, 09:10
|
#2
|
elite*gold: 0
Join Date: Sep 2013
Posts: 562
Received Thanks: 361
|
Das passwort sollte als (md5) Hash in der Datenbank eingetragen sein, nicht als klartext.
|
|
|
02/20/2016, 09:55
|
#3
|
elite*gold: 0
Join Date: Jun 2012
Posts: 159
Received Thanks: 32
|
Call to undefined function mysql_fetch_assoc
da steht doch der fehler ^^
versuch es mal mit der hier:
Quote:
<?php
$conf['db_user'] = "sa";
$conf['db_pass'] = "Passwort";
$conf['db_name'] = "Account";
if (!isset($_GET['Username']))
$user = sql_clean("");
else
$user = sql_clean($_GET['Username']);
if (!isset($_GET['Password']))
$passhash = sql_clean("");
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 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;
if (MD5($PlaintxtPass) == $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.');
}
}
else
{
die('Query Failed');
}
odbc_close();
function sql_clean($str)
{
$search = array("\\", "\0", "\n", "\r", "\x1a", "'", '"');
$replace = array("", "", "", "", "", "", "");
return str_replace($search, $replace, $str);
}
function RandomToken( $length )
{
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789";
$str = "";
$size = strlen( $chars );
for( $i = 0; $i < $length; $i++ ) {
$str .= $chars[ rand( 0, $size - 1 ) ];
}
return $str;
}
?>
|
|
|
|
02/20/2016, 12:41
|
#4
|
elite*gold: 0
Join Date: Apr 2012
Posts: 1,153
Received Thanks: 696
|
Ansonsten nimm kein xampp sondern IIS, ist wesentlich besser.
Installier dir den
- PHP Manager
- Aktuelles IIS
- Fast CGI
- PHP
dann wähl die php_cgi.exe aus und es sollte richtig funktionieren.
Außerdem ist es: Login.php?Username=Username&Password=Password
|
|
|
02/20/2016, 12:47
|
#5
|
elite*gold: 0
Join Date: Jun 2012
Posts: 159
Received Thanks: 32
|
oder so ^^
|
|
|
02/20/2016, 15:44
|
#6
|
elite*gold: 0
Join Date: Feb 2016
Posts: 114
Received Thanks: 13
|
Quote:
Originally Posted by хαrvα
Ansonsten nimm kein xampp sondern IIS, ist wesentlich besser.
Installier dir den
- PHP Manager
- Aktuelles IIS
- Fast CGI
- PHP
dann wähl die php_cgi.exe aus und es sollte richtig funktionieren.
Außerdem ist es: Login.php?Username=Username&Password=Password
|
Erst hatte ich mit Appserv gearbeitet nun benutze ich XAMPP jetzt hab ich mich gerade an XAMPP gewöhnt aber wenn es bei mir mit XAMPP funktioniert
dann befolge ich deinen Rat und werde IIS verwenden, aber erstmal möchte ich es noch mit XAMPP zum laufen bringen, wenn du nichts dagegen hast^^
Quote:
Originally Posted by Desponia
oder so ^^
|
Habe den Code ausprobiert aber der sagt mir zwar keine Fehler mehr, aber er sagt immer Wrong Password
Hier (IP ist ein Beispiel):
http://123.458.789.10:8080/Login/Login.php?Username=Username&Password=Password
Wenn ich jetzt einen Account erstelle der Test50 heißt und Test 51 eingebe sagt er ja logischerweise Account not found, was ja richtig ist
sieht dann so aus:
http://123.458.789.10:8080/Login/Login.php?Username=Test50&Password=Password
aber wenn ich jetzt das dazugehörige richtige Passwort mitangebe:
http://123.458.789.10:8080/Login/Login.php?Username=Test50&Password=Test80
dann sagt er mir "Wrong Passwort", obwohl es richtig ist.
Also irgendwie funktioniert das mit dem Code noch nicht so richtig
weil damals hat es ja auch geklappt, da habe ich dann das so im Browser stehen gehabt:
http://123.458.789.10:8080/Login/Login.php?Username=Test50&Password=Test80
und dann kam ein Token heraus. mit irgendwas davor TokenOK.
und dann eben der Token: "TokenOK.45a45588546fff356aaf45fdf" usw/etc.
Aber jetzt sagt er immer Wrong Password
2. Wieso ist in deinem Code kein:
$conf['db_host'] = "SQLServer\SQLServer";
also kein db_host drin?
3. Ich versteh einfach nicht wieso es auf dem Alten Root Server ALLES funktioniert hat und auf dem neuen Root Server es nicht mehr funktioniert. Es ist ja alles wieder an Ort und Stelle wie es vorher auch war, nur das eben ein kostengünstiger Root server ist.
Ich meine das Bestriebssystem ist das gleiche, die 64-Bit Version ist die gleiche, Festplatten sind um 500 GB kleiner, IP Adresse ist ne andere, aber daran liegt es ja nicht.
Alter Root Server = Funktioniert
Auf dem Alten Root Server, die Files gesichert (Backup) auf den neuen Server rübergeladen, und alles wieder an Ort und Stelle installiert und nun geht es nicht mehr
|
|
|
02/20/2016, 16:51
|
#7
|
elite*gold: 3
Join Date: Mar 2010
Posts: 551
Received Thanks: 372
|
Add mich in skype: vito7551
außerdem lad dir schon mal teamviewer runter
|
|
|
02/20/2016, 16:56
|
#8
|
elite*gold: 0
Join Date: Sep 2013
Posts: 562
Received Thanks: 361
|
Ich sagte doch schon, du musst das Passwort im md5 Format in der DB vorliegen haben.
Quote:
Originally Posted by TheDragonX3
Habe ich aber Username stehen dann bekomm ich die Fehlermeldung:
Fatal error: Call to undefined function mysql_fetch_assoc() in C:\xampp\htdocs\Login\Login.php
on line 32
|
Wo wird in dem von dir gepostetem Login script denn bitte die Funktion "mysql_fetch_assoc()" benutzt??? Der error kommt doch wohl von irgend einem anderem Versuch mit irgendeinem anderen Script.
Quote:
Originally Posted by Desponia
Call to undefined function mysql_fetch_assoc
da steht doch der fehler ^^
|
Nein, steht er eben nicht aus oben genanntem Grund.
Ausserdem, das von dir gepostete script ist zu 99% genau das selbige.
Ab PHP 5.3 wird meines wissens mssql_...() übrigens nicht mehr unterstützt und man sollte den sqlsrv treiber nutzen welchen man für die verschiedenen PHP Versionen von Microsoft beziehen kann.
Ausserdem wurde mittlerweile auch schon des öfteren erwähnt, das derartige abfragen obsolet sind
und man abfragen, welche Clienteingaben enthalten können, lieber prepariert ("sqlsrv_prepare()").
Zusammengefasst, benutz Google um die für dein Xamp passende PHP version zu finden,
benutze ebenfalls Google, um den für dein Xamp und PHP passenden "SQLSRV DRIVER" zu finden,
benutze ebenfalls Google um tutorials zu finden wie du es richtig konfigurierst.
Wenn du das getan hast such dir ein Login script welches mit prepared statements und sqlsrv arbeitet
oder benutz ebenfalls Google um dir selbst eins coden zu können und baue dieses bei dir ein.
Gruß D0n!.
|
|
|
02/20/2016, 17:11
|
#9
|
elite*gold: 0
Join Date: Jun 2012
Posts: 159
Received Thanks: 32
|
Quote:
Originally Posted by TheDragonX3
2. Wieso ist in deinem Code kein:
$conf['db_host'] = "SQLServer\SQLServer";
also kein db_host drin?
|
Es steht kein Server Host drin weil wie du nachsehen kannst verbindet er über die Account Odbc
Ja klar Don es ist zu 99% gleich aber oft macht der eine prozent viel aus und testen kostet ihn ja nichts ^^
|
|
|
02/20/2016, 22:17
|
#10
|
elite*gold: 0
Join Date: Feb 2016
Posts: 114
Received Thanks: 13
|
Quote:
Originally Posted by D0n!
Ich sagte doch schon, du musst das Passwort im md5 Format in der DB vorliegen haben.
Wo wird in dem von dir gepostetem Login script denn bitte die Funktion "mysql_fetch_assoc()" benutzt??? Der error kommt doch wohl von irgend einem anderem Versuch mit irgendeinem anderen Script.
Nein, steht er eben nicht aus oben genanntem Grund.
Ausserdem, das von dir gepostete script ist zu 99% genau das selbige.
Ab PHP 5.3 wird meines wissens mssql_...() übrigens nicht mehr unterstützt und man sollte den sqlsrv treiber nutzen welchen man für die verschiedenen PHP Versionen von Microsoft beziehen kann.
Ausserdem wurde mittlerweile auch schon des öfteren erwähnt, das derartige abfragen obsolet sind
und man abfragen, welche Clienteingaben enthalten können, lieber prepariert ("sqlsrv_prepare()").
Zusammengefasst, benutz Google um die für dein Xamp passende PHP version zu finden,
benutze ebenfalls Google, um den für dein Xamp und PHP passenden "SQLSRV DRIVER" zu finden,
benutze ebenfalls Google um tutorials zu finden wie du es richtig konfigurierst.
Wenn du das getan hast such dir ein Login script welches mit prepared statements und sqlsrv arbeitet
oder benutz ebenfalls Google um dir selbst eins coden zu können und baue dieses bei dir ein.
Gruß D0n!.
|
Also ich habe die Exe: "SQLSRV30.exe" runtergeladen. da sind ja die DDLs drin:
wie z.b:
php_pdo_sqlsrv_52_nts_vc6.dll
php_pdo_sqlsrv_52_ts_vc6.dll
php_pdo_sqlsrv_53_nts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
etc
habe sie auch in der php.ini vom Xampp eingefügt
|
|
|
02/22/2016, 21:38
|
#11
|
elite*gold: 0
Join Date: Feb 2016
Posts: 114
Received Thanks: 13
|
Dank der Hilfe von Canic und Desponia funktioniert meine Login.php aber nun habe ich das Problem das mein Login Launche rund meine RegiPage nicht mehr zusammen mit der Login.php funktioniert
auf meiner Homepage heißt es beim erstellen immer: Ups da lief was schief, bitte neu versuchen
und am LoginLauncher wenn ich den richtigen Username und das richtige Passwort in die Textboxen eingebe heißt es: Username oder Passwort falsch, bitte neu eingeben
ich weiß einfach nicht weiter nichts will funktionieren
Das einzige was nun funktioniert, ist der Server(die Dienste,Zonen), XAMPP,SQL Server,Login.php
Was nicht funktioniert, ist die billige Regi Page,der Register auf der Homepage und der Login Launcher und hab kein Patcher :X
|
|
|
02/24/2016, 20:56
|
#12
|
elite*gold: 10
Join Date: Aug 2011
Posts: 1,328
Received Thanks: 914
|
Sorry für diesen sinnlosen OT Post, aber darf ich dich etwas fragen?
Wozu versuchst du überhaupt einen "Privaten" Server zu erstellen, der, wie es scheint,
für andere Spieler ebenfalls nutzbar sein soll, wenn du nicht einmal die einfachsten
Dinge selbst zum laufen bekommst?
Natürlich kostet Fragen nichts, aber ich bitte dich, wie schwer ist es bitte in den
Dateien nach der jeweiligen Stelle zu suchen, die dir die o.g "Fehlermeldung" ausgibt
und dann zu schauen was drüber steht und die einzelnen Funktionen im Internet
zu recherchieren?
Auch wenn das nun sehr unfreundlich klingt, es muss leider gesagt werden:
Lass es gut sein.
#Ich bedanke mich schon mal im Voraus für alle nachfolgenden Posts die
sich gegen meinen Post richten.
|
|
|
02/24/2016, 21:11
|
#13
|
elite*gold: 0
Join Date: Feb 2011
Posts: 217
Received Thanks: 101
|
Warum gegen dich richten, wenn es wahr ist^^
Es gibt schon zu fast allen Dingen der Fiesta Section/Szene Tutorials oder wenigstens Schrittanleitungen xD
|
|
|
02/25/2016, 14:19
|
#14
|
elite*gold: 0
Join Date: Feb 2016
Posts: 114
Received Thanks: 13
|
ja Toll wenn die meisten seiten oder Daten entfernt wurden
habe ja versucht tutorials anzugucken oder daten runterzuladen die mir beim aufbau helfen
aber die daten werden ja immer bei dieser mega.nz hochgeladen
und wurden dann entfernt
viele daten zip daten rar daten oder videos wurden entfernt, also bleibt ja nur fragen
selbst von greenkid und anderen die thread erstellt haben wo viele Guide`s sind, bringen mir nix weil vieles davon an Daten von mega.nz
also wie soll man es sich selbst beibringen wenn das meiste was man braucht nicht mehr existiert. sehr witzig. ich werde es garantiert nicht gut sein lassen, da ich kein Mensch bin der aufgibt nur weil andere es sagen. Ich bin für jede Art von Hilfe offen, aber wenn man mir sagt ich soll es lassen, dann stößt man bei mir auf taube Ohren.
Ich versuch die ganze Zeit es selbst zu lösen aber ich kann auch nix dafür wenn das meiste gelöscht wird. ich finde immer die richtigen Threads und sehe das viele Devs sachen für uns hochgeladen haben die ich brauche und wenn ich sie ebenfalls downloaden will ist das meiste imme rbei mega.nz und dann steht da immer das die Datei nicht mehr existiert, also ist es kein wunder wenn ich Frage und es net selber kann, wenn nichts da ist und die Schrittanweisungen helfen mir nicht weiter, da in den Schritteinweisung keine Lösung für meine Probleme drin stehen.
|
|
|
02/25/2016, 15:19
|
#15
|
elite*gold: 0
Join Date: Apr 2012
Posts: 1,153
Received Thanks: 696
|
Hm mein Tutorial ist noch oben.
Wenn du es nicht gebacken bekommst, kann ich dir einen machen.
Adde mich bitte auf Skype: hadcorexstudios
|
|
|
Similar Threads
|
Login fehler
04/15/2014 - Shaiya PServer Development - 3 Replies
Hallo lieber leser.
Ich habe das folgende kleine problem das ich bei der Pw eingabe dc bekomme.
Und als Log eintrag kommt folgendes...=
PS_DBAGENT_system
2014-04-13 23:35:19 err=-1, Login failed for user 'Shaiya'., SQL STATE: 28000, NATIVE ERROR: 18456 (0x4818)
2014-04-13 23:35:19 ::LoadBillingItem 674 qerr=-1, EXEC usp_Read_Char_Product_Item_E 674
|
Dbo login fehler
03/09/2013 - Foreign Games - 1 Replies
Wenn ich login mache komm ich nicht rein da kommt irgend was chinesesch und mittendrin steht capslock und wenn ich deutsch patch mit rein mache kommt dan nichts help:confused: :confused:
|
login fehler
05/31/2011 - Metin2 Private Server - 6 Replies
guten abend,
ich hab folgendes prob. ich will mich einloggen doch dann bei ca. 3 sec. kickt es mich bei Verbindung zum Server.... und es kommt wieder das anmeldefenster. An was kann das liegen ?
|
All times are GMT +2. The time now is 07:05.
|
|