Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 07:18

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[PHP & MySQL]Login Script fehler aber wo?!

Discussion on [PHP & MySQL]Login Script fehler aber wo?! within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2012
Posts: 72
Received Thanks: 22
[PHP & MySQL]Login Script fehler aber wo?!

Hey leute dieser Login Loginscript müsste eig funktionieren bis ich eine neue datenbank erstellt habe... seit dem geht es überhaupt nicht mehr. Registrieren kann man sich aber alles was mit Login zutun hat ist faily...

PHP Code:
<?php
// *** LOGIN ***

require_once('db_config.php');

mysql_connect($host$user$pass);

mysql_select_db($dbase);


$Benutzername mysql_real_escape_string($HTTP_GET_VARS['benutzername']);

$Passwort mysql_real_escape_string($HTTP_GET_VARS['passwort']);

$result mysql_query("SELECT * FROM Users WHERE Benutzername='"$Benutzername ."'");

$row mysql_fetch_row($result);


if (
$row) {

    
$Dbmd5Passwort $row[1];

        if (
md5($Passwort) == $Dbmd5Passwort)
      
        {
            

            echo 
1;
            
        }
        else
       
        {
           

            echo 
2;
            
        }

else

{
   

    echo 
0;
    
}
}

?>
Alles ist mit AutoIt verbunden und Autoit empfängt diese Echos. Im autoit script ist kein fehler sonnst würd er nicht laufen und wo ist das problem jetzt hier?

Danke schon mal mfg SSNx3
.SenSatioNx3' is offline  
Old 03/16/2014, 23:41   #2
 
.StarSplash's Avatar
 
elite*gold: 74
The Black Market: 185/0/0
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
So auf Anhieb ist die Klammersetzung falsch.

Vor dem unteren Else muss noch eine Klammer hin und die letzte Klammer muss weg.
.StarSplash is offline  
Thanks
1 User
Old 03/16/2014, 23:43   #3


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Arrow General Coding -> Web Development

#moved
MrSm!th is offline  
Thanks
1 User
Old 03/17/2014, 00:18   #4
 
elite*gold: 0
Join Date: Jan 2013
Posts: 59
Received Thanks: 7
was kommt für ne fehlermeldung ?
s7alker2 is offline  
Thanks
1 User
Old 03/17/2014, 00:37   #5
 
elite*gold: 0
Join Date: Jun 2012
Posts: 72
Received Thanks: 22
Im AutoIt.exe wird angezeigt: "Benutzername nicht Registriert!"
obwohl ja einer existiert...

EDIT: _______________________
Fail haha....
Das mit der Klammer stimmt jetzt geht wieder alles lol aber danke für die hilfe von euch... bekommt jeder thx
.SenSatioNx3' is offline  
Old 03/17/2014, 14:22   #6


 
.Marcel''s Avatar
 
elite*gold: 100
Join Date: Sep 2009
Posts: 8,143
Received Thanks: 2,763
Kleiner Tipp am rande: mysql_* ist veraltet !
.Marcel' is offline  
Old 03/17/2014, 16:14   #7
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
$HTTP_GET_VARS ist veraltet und sollte nicht mehr verwendet werden. Verwende stattdessen $_GET bzw. $_POST jenach übertragsungsart.

Du kannst dir auch erstmal deinen Benutzernamen ausgeben lassen (anfänge des Debugging sollte eigentlich immer passieren bevor man etwas fragt), damit man weiss, ob überhaupt ein Benutzername am Script ankommt. Wie rufst du das script denn auf? Per Post-Request oder einfach die Url mit entsprechendem GET Parameter?
NotEnoughForYou is offline  
Old 03/17/2014, 21:56   #8
 
.StarSplash's Avatar
 
elite*gold: 74
The Black Market: 185/0/0
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
Wenn wir schon bei den Verbesserungsvorschlägen sind: Bei einem Passwort solltest du beim Hashen noch einen Salt einbauen, damit machst du Angriffe mittels Hashtabellen schwieriger oder gar unmöglich.
.StarSplash is offline  
Old 03/19/2014, 01:14   #9
 
elite*gold: 0
Join Date: Oct 2012
Posts: 71
Received Thanks: 24
PHP Code:
$result mysql_query("SELECT * FROM Users WHERE Benutzername='"$Benutzername ."'"); 
deine SELECT abfrage ist für dienen Fall nicht geeignet den je nach schreib weise des Benutzername kann es vorkommen das du keine Ergebnis zurück bekommst.

außer dem musst alle post und get vor Verwaltung überprüfen sonst wird kein wert übergeben.

so in etwa wurde ich es machen
PHP Code:
 <?php
// *** LOGIN ***
require_once('db_config.php');

//  erst mal muss  geprüft werden ob dein Formular abgesendet wurde.
if(isset($_GET['submit'])
{
   
// hier brüfen wie ob Benutzername und Passwort abgesendet wurden außer dem wird der Datentype geprüft ob es ein string ist und der wert großer als null ist.
   
if(isset($_GET['benutzername']) && (is_string($_GET['benutzername'])) && strlen($_GET['benutzername']) > 0){
      
$benutzername mysql_real_escape_string(strtoupper($_GET['benutzername']));
   }
   
   if(isset(
$_GET['passwort']) && (is_string($_GET['passwort'])) && strlen($_GET['passwort']) > 0){
     
$passwort mysql_real_escape_string($_GET['passwort']);
   }
   
   if(isset(
$benutzername)  && isset($passwort))
   {
         
mysql_connect($host$user$pass);
         
mysql_select_db($dbase);
         
$result mysql_query('SELECT * FROM Users WHERE UPPER (Benutzername) ='.$benutzername);
         
$row mysql_fetch_row($result);
         if (
$row){
             
$Dbmd5Passwort $row[1];
             if (
md5($Passwort) == $Dbmd5Passwort){
                 echo 
2;
             }
             else{
                 echo 
3;
            } 
            echo 
0;
         }
         else{
            echo 
1;
         }
   }
   
}


?>
_robox is offline  
Old 03/19/2014, 10:03   #10


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by _robox View Post
PHP Code:
$result mysql_query("SELECT * FROM Users WHERE Benutzername='"$Benutzername ."'"); 
deine SELECT abfrage ist für dienen Fall nicht geeignet den je nach schreib weise des Benutzername kann es vorkommen das du keine Ergebnis zurück bekommst.
Wieso?

Groß- und Kleinschreibung werden bei Nutzernamen sehr wohl auf nahezu allen Seiten beachtet, daher ist seine Abfrage richtig und vollkommen angemessen.

Allerdings würde ich die Eingaben von Usern auf jeden Fall zusätzlich durch die Escape Funktion jagen um SQL Injections (einigermaßen) verhindern zu können.
Mostey is offline  
Old 03/19/2014, 10:07   #11


 
Kentika's Avatar
 
elite*gold: 0
The Black Market: 120/0/0
Join Date: Sep 2011
Posts: 5,498
Received Thanks: 1,114
Quote:
Originally Posted by Mostey View Post
Wieso?

Groß- und Kleinschreibung werden bei Nutzernamen sehr wohl auf nahezu allen Seiten beachtet, daher ist seine Abfrage richtig und vollkommen angemessen.

Allerdings würde ich die Eingaben von Usern auf jeden Fall zusätzlich durch die Escape Funktion jagen um SQL Injections (einigermaßen) verhindern zu können.
PHP Code:
$Benutzername mysql_real_escape_string($HTTP_GET_VARS['benutzername']); 

$Passwort mysql_real_escape_string($HTTP_GET_VARS['passwort']); 
macht er hier ja.

Generell sollte man das ganze entweder auf mysqli oder PDO umbauen, denn mysql_* wird bald nicht mehr unterstützt.
Kentika is offline  
Old 03/19/2014, 16:46   #12
 
elite*gold: 0
Join Date: Oct 2012
Posts: 71
Received Thanks: 24
Wie schon hier in Thema erwähnt Solde er an Stelle von $HTTP_GET_VARS besser $_GET verwanden außerdem ist es ratsam alle $_GET und $_POST mit htmlspecialchars oder eine andern geeigneten Methode absichern
Außerdem ist es ist mysql_real_escape_string beim $Passwort überflüssig Da es nicht an die Datenbank über mittelt wird.

Die SELECT Anweisung enthalt 2 Fehler.
Zum einen kann man nicht davon ausgehen das sich der User immer mit der gleichen Schreibweise einloggt wie bei seiner Registrierung.
Denn Mysql unter scheitet nicht Case sensitivity und Case insensitivity dafür muss ich selber sorgen eine mögliche Lösung habe ich in post 9 versucht nahe zu bringen.

Der zweite Fehler in der SELECT Anweisung betrifft die hoch Kommas sie sind zwar rein von der MySQL Syntax her korrekt nur muss man bedenken das $Benutzername schon ein fertig formatierter String ist und somit die Hoch Kommas überflüssig sind. In gegen Teil sind sie sogar kontra produktive da sie so ein neuen String erzeugen mit zusätzlichen hoch Kommas die nicht erwünscht sind.

Von md5 würde ich komplett die Finger weg lassen denn md5 ist eines der unsichersten hasche verfahren die es in Moment gibt.
_robox is offline  
Reply

Tags
mysql, php, script


Similar Threads Similar Threads
Fehler beim PHP Login-Script
12/05/2011 - Web Development - 12 Replies
N'Abend zusammen :D. Ich hab heute ein Login-Script geschrieben mit einem Chat Bereich. Auf meinem XAMPP Server läuft alles wunderbar, doch wenn ich die Files hochlade, komm ich beim einloggen immer in die 1. else Schleife(die unterste..die if(!) Vergleiche sind aus verzweiflung entstanden xD) Die if($username && $password) Schleife wird also schon agrnicht ausgeführt.. Die Logindaten hab ich bereits auf meinen Free Hoster angepasst. Weiss vielleicht jemand worin der Fehler besteht ? ...
mysql Fehler + Script?
07/18/2011 - Metin2 Private Server - 2 Replies
hey Leute, bei der Regipage auf meiner Homepage kommen 2 Fehlermeldungen, ist eig das gleiche. Notice: Undefined index: user_admin in /data/multiserv/users/617397/projects/1541105/www/ pages/register.php on line 11 Notice: Undefined index: user_admin in /data/multiserv/users/617397/projects/1541105/www/ pages/register.php on line 11 Das steht über der Registration. Die Zeile bzw. Seite im Script:
[HOW TO] Vb 2008 Mysql Login (Php Script)
12/20/2010 - Coding Tutorials - 2 Replies
Hey Leute, ich habe mir überlegt das ich mir ein Vb 2008 Tool für meinen Fourm mache , natürlich soll man sich in diesem Tool auch mit den Fourm Daten einloggen.Ich habe mir einen Code zusammengebastelt warscheinlich gibt es auch andere Methoden , aber ich stelle meine einfach mal vor. (Achtung! Euer Login im PHP Script muss eine Umleitung besitzen , damit das hier funktioniert!) Tutorial: 1.Zunächst braucht Ihr natürlich eine Website (Forum) mit einem Login ,
Metin2 homepage ein mysql script einfügen aber wie?
07/23/2010 - Metin2 - 10 Replies
Hallo Liebe com. Und zw ar habe ich eine komplett neue internet seite. Nun habe ichfolgendes problem. Ein kolege hat die seite für uns gemacht, dennoch dachte er wir hätten hamachi server, obwohl wir root haben. Nundie frage: Wie kann ich ineiner stink normalen hompage ein mysql script rein machendamit die hp eine normale db verbindung hat wie auf anderen homepages? bitte um dringende und schnelle hilfen =/ MfG Ahras
[PHP] Session Fehler bei Login Script
09/08/2009 - Web Development - 13 Replies
So ich hab mir mal ein kleines Login Script erstellt(teilweile online toturial teilweilse hilfe von kumpel) so nur will das mit den session nicht so ganz hinhauen. die login.php <?php session_start (); $Username=$_POST; $Password=$_POST; $Connect=mysql_connect ("localhost", "root", ""); mysql_select_db("account"); $Query="SELECT * FROM account WHERE login='$Username' and password=password('$Password')";



All times are GMT +1. The time now is 07:18.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.