Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26887, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3321, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 299, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7635, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 54, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50939, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28.12.2011, 15:58   #1 (Direktlink)
TheD3X
Gast
 
Beiträge: n/a
Standard MySQL - Passwortabfrage und Returnwert aus DB

Hallo!

Ich Arbeite derzeit an einem Onlinespiel und versuche, den LogIn auf einen MySQL-Server zu legen.
Dabei möchte ich rein im Voraus anmerken: Ich bin ein absoluter Noob in Sachen MySQL und PHP. Die Datenbank läuft, ein etwas älteres Script, zusammenkopiert liefert nur merkwürdige Werte aus. Dieses Script hab ich auch nicht mehr. Ich möchte, dass ich aus dem Spiel ein PHP-Dokument auf dem Server aufrufe, welches das vom Programm gesendete Passwort und Username (/send.php&usn$=name$&pw$=pass$%source=101 oder so ähnlich) mit der DB abgleicht und jeweils eine 1 für "Alles Roger, kannst rein" oder 0 für "Komm, geh weg" sendet.

Wie kann ich das erreichen oder hat vielleicht jemand Lust, mir zu helfen?
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.12.2011, 20:38   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Desert_Igel
 
Registriert seit: 22.05.2005
Ort: c:\DE\NDS\SHG\Rinteln
Alter: 21
Beiträge: 5.808
Standard

Also erstmal würde ich ein Loginscript grundsätzlich nicht per GET-, sondern per POST-Methode programmieren.

Schau dir das mal an:
Quakenet/#php Tutorial - de - Loginskript
__________________
Hauptrechner: Intel Q6600 | Gigabyte P35-DQ6 | ATi Radeon 2900XT | 4 GB OCZ RAM | Corsair HX520W | 31 TB Festplattenkapazität | 120 GB OCZ Vertex II SSD | Wasserkühlung

LAN-Rechner: Intel Xeon UP W3520 | nVidia Geforce 8800 GTS | 4 GB TeamGroup RAM | LC Power LC6550 | 640 GB Platte

HTPC: AMD Athlon II X2 250 | Foxconn A88GM Deluxe | 4 GB TeamGroup RAM | 3 TB Hitachi Platte
Desert_Igel ist offline   Mit Zitat antworten
Alt 01.01.2012, 02:41   #3 (Direktlink)
TheD3X
Gast
 
Beiträge: n/a
Standard

Ich rufe die URL direkt aus dem Spiel auf, nicht von einer Website. Soweit ich das weiß, funktioniert das nur per $_GET

Nun: Das script gibt selbst bei korrekten Daten eine 0 aus:

Code:
<?php 

include config.php;



$username = $_GET["username"]; 
$password = $_GET["password"]; 

$request = "SELECT name, passwd FROM continuum WHERE username LIKE '$username' LIMIT 1"; 
$sum = mysql_query($request); 
$row = mysql_fetch_object($sum); 

if($row->password == $password) 
    { 
    echo "1"; 
    } 
else 
    { 
    echo "0"; 
    } 

?>
  Mit Zitat antworten
Alt 04.01.2012, 13:37   #4 (Direktlink)
Super-Moderator
 
Benutzerbild von Desert_Igel
 
Registriert seit: 22.05.2005
Ort: c:\DE\NDS\SHG\Rinteln
Alter: 21
Beiträge: 5.808
Standard

ERST EINMAL: GANZ WICHTIG, mysql_real_escape_string() benutzen!!!!!
PHP: mysql_real_escape_string - Manual
php-homepage.de - Die deutschsprachige Ressource fr PHP und MySQL- Manual - mysql_real_escape_string

IMMER, wenn der Benutzer Eingaben macht und diese Eingaben zur Datenbank geschickt werden MUSS die Funktion AUSNAHMSLOS (!!) verwendet werden - ansonsten hast du eine große Sicherheitslücke.

Allgemein solltest du dich in den Bereich Sicherheit beim Programmieren gründlich einlesen.

Dein Loginscript ist wirklich sehr sehr simpel gehalten - da gibts definitiv noch Verbesserungsbedarf
Wie gesagt: Schau im Internet mal nach einem Loginscript, da gibts tausende fertige Scripts - sicher auch per GET-Methode.

Der Fehler bei deinem Script liegt vermutlich hier:
Zitat:
Zitat von TheD3X Beitrag anzeigen
<?php

include config.php;



$username = $_GET["username"];
$password = $_GET["password"];

$request = "SELECT name, passwd FROM continuum WHERE username LIKE '$username' LIMIT 1";
$sum = mysql_query($request);
$row = mysql_fetch_object($sum);

if($row->password == $password)
{
echo "1";
}
else
{
echo "0";
}

?>
Ansonsten das gesamte Script nochmal durchgehen, var_dump() sollte dir beim Debugging helfen.

Außerdem bitte zum Entwickeln bitte folgende Funktion verwenden:
// Melde alle PHP Fehler
error_reporting(E_ALL);


Viele Grüße
Desert_Igel
__________________
Hauptrechner: Intel Q6600 | Gigabyte P35-DQ6 | ATi Radeon 2900XT | 4 GB OCZ RAM | Corsair HX520W | 31 TB Festplattenkapazität | 120 GB OCZ Vertex II SSD | Wasserkühlung

LAN-Rechner: Intel Xeon UP W3520 | nVidia Geforce 8800 GTS | 4 GB TeamGroup RAM | LC Power LC6550 | 640 GB Platte

HTPC: AMD Athlon II X2 250 | Foxconn A88GM Deluxe | 4 GB TeamGroup RAM | 3 TB Hitachi Platte
Desert_Igel ist offline   Mit Zitat antworten
Alt 04.01.2012, 17:00   #5 (Direktlink)
TheD3X
Gast
 
Beiträge: n/a
Standard Nun gibts...

Nun gibts gar kein Echo mehr aus. So siehts jetzt aus (Hab mir gestern im Chat noch helfen lassen. Nun sind wir beide Ratlos:

Code:
<?php
error_reporting(E_ALL);

include config.php; // Login Data and DB_Connect


$username = mysql_escape_string($_GET["username"]); //fixed
$password = mysql_escape_string($_GET["password"]);  //same here

$request = "SELECT `name`, `passwd` FROM `siriuslogin` WHERE `username` = ".$username." LIMIT 1"; 

$sum = mysql_query($request) or die(mysql_error());  

$row = mysql_fetch_object($sum) or die(mysql_error());

if($row->passwd == $password)
   {
   echo "1";
   }
else
   {
   echo "0";
   }

?>
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 05.01.2012, 02:36   #6 (Direktlink)
Super-Moderator
 
Benutzerbild von Desert_Igel
 
Registriert seit: 22.05.2005
Ort: c:\DE\NDS\SHG\Rinteln
Alter: 21
Beiträge: 5.808
Standard

Was gibt denn

echo $request;

aus?

Debugging mit var_dump() probiert?
__________________
Hauptrechner: Intel Q6600 | Gigabyte P35-DQ6 | ATi Radeon 2900XT | 4 GB OCZ RAM | Corsair HX520W | 31 TB Festplattenkapazität | 120 GB OCZ Vertex II SSD | Wasserkühlung

LAN-Rechner: Intel Xeon UP W3520 | nVidia Geforce 8800 GTS | 4 GB TeamGroup RAM | LC Power LC6550 | 640 GB Platte

HTPC: AMD Athlon II X2 250 | Foxconn A88GM Deluxe | 4 GB TeamGroup RAM | 3 TB Hitachi Platte
Desert_Igel ist offline   Mit Zitat antworten
Alt 06.01.2012, 20:37   #7 (Direktlink)
TheD3X
Gast
 
Beiträge: n/a
Standard

Wir habens.
Gesichtspalmenmoment 2012:

Code:
<?php


include "config.php"; // Login Data and DB_Connect



$username = $_GET["username"];

$password = $_GET["password"];



$request = "SELECT `username`, `passwd` FROM `siriuslogin` WHERE `username` = '".$username."' ";


$sum = mysql_query($request) or die(mysql_error());


$row = mysql_fetch_object($sum);



if($row->passwd == $password)

    {

    echo "1";

    }

else
    {

    echo "0";

    }


?>
Es waren fehlende anführungszeichen bei include config.php;
  Mit Zitat antworten
Alt 14.03.2012, 09:22   #8 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 10.11.2010
Beiträge: 11
Standard

"Ich Arbeite derzeit an einem Onlinespiel und versuche, den LogIn auf einen MySQL-Server zu legen.
Dabei möchte ich rein im Voraus anmerken: Ich bin ein absoluter Noob in Sachen MySQL und PHP."

Und da traust Du Dich bereits an ein Spiel? Dafür erhälst Du schon einmal meinen höchsten Respekt. Ich programmier jetzt seit fast 5 Jahren PHP und das mittlerweile richtig gut, aber ein Spiel programmieren - das will gut geplant sein.

Wie ist denn der aktuelle Stand? Vielleicht können wir Dir ja noch ein wenig helfen?
vad3rlein ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Passwortabfrage bei Benutzerwechsel Alfi155 Windows XP 4 23.06.2007 22:30
MySQL Dumper/MySQL Datenbank Frage - newbie frage Roller Homepagegestaltung 0 15.01.2007 16:26
Passwortabfrage... Erik_65 C/C++, Visual C++, Visual C++.NET 1 10.08.2005 12:09
MySQL Bot bedroht MySQL Server und verbreitet sich darüber Rolf Aktuelle Meldungen 0 31.01.2005 18:36
Passwortabfrage Rolf Allgemein 9 11.03.2003 15:35



Alle Zeitangaben in WEZ +2. Es ist jetzt 02:40 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2