Register for your free account! | Forgot your password?

You last visited: Today at 17:27

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

Advertisement



PHP // Log-In System

Discussion on PHP // Log-In System within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1



 
ShapyShape's Avatar
 
elite*gold: 1792
The Black Market: 394/0/0
Join Date: Aug 2010
Posts: 3,665
Received Thanks: 512
PHP // Log-In System

Moin , Elitepvpers

Heute will ich euch zeigen, wie man in PHP einen ganz einfachen Login Erstellt.
Hoffe es wird euch gefallen & bzw hoffentlich hilft es euch.


~Vorwort~

Schritt 1: Neuer Account

Zuerst möchten wir mit dem Script einen neuen Account anlegen, damit sich der User evt. später von alleine Registieren kann.

Dazu brauchen wir ein ganz normales HTML-Formular mit 3 Feldern.
Einmal ein Feld wo man seinen Benutzernamen (Name: username) eingibt, dann ein Feld wo man sein Passwort eingibt (Name: passwort) und noch ein Feld, wo man sein Passwort bestätigt (Name: passwort2).

Das sieht ca. so aus:


Code:
<form action="eintragen.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="passwort"><br>

Passwort wiederholen:<br>
<input type="password" size="24" maxlength="50"
name="passwort2"><br>

<input type="submit" value="Abschicken">
</form>

Jetzt kommen wir zum intressanten Teil, dem PHP Script. Dieser Script soll den Benutzername und das Passwort nur speichern.

Zuerst fragen wir die eingegebenden Daten ab:



Code:
<?php
$username = $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];
?>

Danach überprüfen wir zuerst, ob überhaupt die beiden Passwörter identisch sind, dafür benutzen wir einfach eine if-Anweisung.

Natürlich wollen wir auch verhindern, das ein Benutzername doppelt vorkommt, sonst gibt es später beim Login Probleme, deswegen erstellen wir ein leeren Array.

Zum schluss verschlüsseln wir noch das Passwort mit der Funktion md5.



Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);
   }
else
   {
   echo "Die Passwörter waren nicht identisch
   <br><a href=\"eintragen.html\">zurück</a>";
   }
?>

Jetzt wollen wir ja nachgucken, ob es den Benutzernamen schon gibt, deswegen öffnen wir die Datei, in der die Benutzernamen und Passwörter gespeichert werden.
Diese Befehle müssen jetzt natürlich auch noch alle in den if Teil.



Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);
   }
?>

Wir öffnen jetzt die Datei, und lesen sie immer Stück für Stück aus. Dabei legen wir nur den Benutzernamen in das Array $user_vorhanden ab.
Wenn in dem Array alle Benutzernamen gespeichert wurden, wird die Datei noch geschlossen.

Jetzt haben wir alle Benutzernamen in dem Array $user_vorhanden, aber jetzt wollen wir gucken, on der Benutzername schon vorhanden ist. Dafür können wir doch ganz einfach in_array benutzen.
Dieser Befehl muss auch wieder in den ersten if-Teil, denn wir wollen die Befehle ja nur ausführen lassen, wenn die Passwörter identisch waren.

Die if-Anweisung sieht jetzt so aus:


Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);

   if (in_array($username,$user_vorhanden))
      {
      echo "Username schon vorhanden <br>
      <a href=\"eintragen.html\">zurück</a>";
      }
   }
?>

Mit in_array schauen wir ob $username, dieser Wert stammt aus dem Formular, schon in dem Array gespeichert wurden, wenn dies nicht der Fall ist, brauchen wir else..
Diese Anweisungen stehen immer noch im ersten if Teil.


Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);

   if (in_array($username,$user_vorhanden))
      {
      echo "Username schon vorhanden <br>
      <a href=\"eintragen.html\">zurück</a>";
      }

   else
      {
      $eintrag ="$username|$passwort";
      $userdatei = fopen ("user.txt","a");
      fwrite($userdatei, "$eintrag\n");
      fclose($userdatei);
      echo "$username, deine Anmeldung war
      erfolgreich<br>
		<a href=\"login.html\">zum Login</a>";
      }
   }
else
   {
   echo "Die Passwörter waren nicht identisch <br>
   <a href=\"eintragen.html\">zurück</a>";
   }
?>
Jetzt speichern wir den Benutzername und das verschlüsselte Passwort in der Text-Datei user.txt. Wenn Ihr diesen Script benutzt, sollte keiner den Namen der Datei wissen, damit man Useraccounts nicht so leicht hacken kann.

Der fertige Script sieht dann so aus (eintragen.php):


Code:
<?php
$username = $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];

if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);

   if (in_array($username,$user_vorhanden))
      {
      echo "Username schon vorhanden <br>
      <a href=\"eintragen.html\">zurück</a>";
      }

   else
      {
      $eintrag ="$username|$passwort";
      $userdatei = fopen ("user.txt","a");
      fwrite($userdatei, "$eintrag\n");
      fclose($userdatei);
      echo "$username, deine Anmeldung war erfolgreich
      <br><a href=\"login.html\">zum Login</a>";
      }
   }
?>

Schritt 2: Login
Jetzt kommen wir zum Login.
Dafür brauchen wir natürlich wieder ein Formular mit zwei Feldern (Username und Passwort mit den Namen: username und password).
Ca so:


Code:
 <form action="login.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br>

<input type="submit" value="Login">
</form>

Das Formular ist weiter nicht intressant, aber der PHP Script. Wie immer fragen wir zuerst die beiden Felder ab, und verschlüsseln das Passwort mit der md5-Funktion.
Außerdem geben wir der Variable $log noch den Inhalt 0, warum werdet Ihr später sehen.



Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);
$log = 0;
?>
Im nächsten Schritt öffnen wir die Datei (user.txt) und lesen diese immer nach und nach.
Dabei trennen wir wieder den Benutzername von dem Passwort, damit wir beides überprüfen können.
Dann schauen wir, ob die Eingaben aus dem Formular mit denen aus der Datei übereinstimmen.
Wenn dies der Fall ist, wird der Variable $log der Inhalt 1 zugeordnet.



Code:
<?php
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
   {
   $zeile = fgets($userdatei,500);
   $userdata = explode("|", $zeile);

   if ($userdata[0]==$username and
   $passwort==trim($userdata[1]))
      {
      echo "Hallo $username";
      $log = 1;
      }
   }
fclose($userdatei);
?>

Aber warum steht da $passwort==trim($userdata[1])?
Ganz einfach, mit trim entfernen wir am Anfang und am Ende des Passwortes überflüssige Zeichen, z.B. Leerzeichen und auch ein Zeilenumbruch.
Wir müssen dies machen, weil die Passwörter immer mit einem Zeilenumbruch am Ende gespeichert werden.
Würden wir dies nicht machen, würde der Script nicht funktionieren, weil ein Wort mit einem Zeilenumbruch am Ende nicht das gleiche Wort ist, als wenn es keinen Zeilenumbruch hat.

Wenn jetzt das Passwort und der Benutzername richtig ist, gelangt der User in den Userbereich (hier: Hallo $username).

Wenn kein Benutzername bzw. Passwort passt, dann hat die Variable $log immer noch den Inhalt 0.

Das können wir wiederrum mit einer if-Anweisung überprüfen.

Code:
<?php
if ($log==0)
   {
   echo "Zugriff verweigert";
   }
?>
Das wars auch schon.

Am Ende sieht die Datei so aus:


Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);

$log = 0;
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
   {
   $zeile = fgets($userdatei,500);
   $userdata = explode("|", $zeile);

   if ($userdata[0]==$username and
   $passwort==trim($userdata[1]))
      {
      echo "Hallo $username";
      $log = 1;
      }
   }
fclose($userdatei);

if ($log==0)
   {
   echo "Zugriff verweigert";
   }
?>
Noch ein Tipp:
In der Datei, in der die Passwörter gespeichert werden, die sollte immer geheim bleiben.


Thanks Muss nicht sein.
ShapyShape is offline  
Thanks
8 Users
Old 10/15/2011, 14:19   #2
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
ganz ok, allerdings ist eine Datenbank um vieles Sicherer bei einem Login. Auch die Registrierung wird so erleichtert.
Bei deiner Methode kann man ganz einfach machen und man hat alles was man braucht
NotEnoughForYou is offline  
Thanks
1 User
Old 10/15/2011, 14:20   #3
 
elite*gold: 0
Join Date: Oct 2011
Posts: 106
Received Thanks: 56
Quote:
Originally Posted by DonCorloene View Post
Moin , Elitepvpers

Heute will ich euch zeigen, wie man in PHP einen ganz einfachen Login Erstellt.
Hoffe es wird euch gefallen & bzw hoffentlich hilft es euch.


~Vorwort~

Schritt 1: Neuer Account

Zuerst möchten wir mit dem Script einen neuen Account anlegen, damit sich der User evt. später von alleine Registieren kann.

Dazu brauchen wir ein ganz normales HTML-Formular mit 3 Feldern.
Einmal ein Feld wo man seinen Benutzernamen (Name: username) eingibt, dann ein Feld wo man sein Passwort eingibt (Name: passwort) und noch ein Feld, wo man sein Passwort bestätigt (Name: passwort2).

Das sieht ca. so aus:


Code:
<form action="eintragen.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="passwort"><br>

Passwort wiederholen:<br>
<input type="password" size="24" maxlength="50"
name="passwort2"><br>

<input type="submit" value="Abschicken">
</form>

Jetzt kommen wir zum intressanten Teil, dem PHP Script. Dieser Script soll den Benutzername und das Passwort nur speichern.

Zuerst fragen wir die eingegebenden Daten ab:



Code:
<?php
$username = $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];
?>

Danach überprüfen wir zuerst, ob überhaupt die beiden Passwörter identisch sind, dafür benutzen wir einfach eine if-Anweisung.

Natürlich wollen wir auch verhindern, das ein Benutzername doppelt vorkommt, sonst gibt es später beim Login Probleme, deswegen erstellen wir ein leeren Array.

Zum schluss verschlüsseln wir noch das Passwort mit der Funktion md5.



Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);
   }
else
   {
   echo "Die Passwörter waren nicht identisch
   <br><a href=\"eintragen.html\">zurück</a>";
   }
?>

Jetzt wollen wir ja nachgucken, ob es den Benutzernamen schon gibt, deswegen öffnen wir die Datei, in der die Benutzernamen und Passwörter gespeichert werden.
Diese Befehle müssen jetzt natürlich auch noch alle in den if Teil.



Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);
   }
?>

Wir öffnen jetzt die Datei, und lesen sie immer Stück für Stück aus. Dabei legen wir nur den Benutzernamen in das Array $user_vorhanden ab.
Wenn in dem Array alle Benutzernamen gespeichert wurden, wird die Datei noch geschlossen.

Jetzt haben wir alle Benutzernamen in dem Array $user_vorhanden, aber jetzt wollen wir gucken, on der Benutzername schon vorhanden ist. Dafür können wir doch ganz einfach in_array benutzen.
Dieser Befehl muss auch wieder in den ersten if-Teil, denn wir wollen die Befehle ja nur ausführen lassen, wenn die Passwörter identisch waren.

Die if-Anweisung sieht jetzt so aus:


Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);

   if (in_array($username,$user_vorhanden))
      {
      echo "Username schon vorhanden <br>
      <a href=\"eintragen.html\">zurück</a>";
      }
   }
?>

Mit in_array schauen wir ob $username, dieser Wert stammt aus dem Formular, schon in dem Array gespeichert wurden, wenn dies nicht der Fall ist, brauchen wir else..
Diese Anweisungen stehen immer noch im ersten if Teil.


Code:
<?php
if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);

   if (in_array($username,$user_vorhanden))
      {
      echo "Username schon vorhanden <br>
      <a href=\"eintragen.html\">zurück</a>";
      }

   else
      {
      $eintrag ="$username|$passwort";
      $userdatei = fopen ("user.txt","a");
      fwrite($userdatei, "$eintrag\n");
      fclose($userdatei);
      echo "$username, deine Anmeldung war
      erfolgreich<br>
		<a href=\"login.html\">zum Login</a>";
      }
   }
else
   {
   echo "Die Passwörter waren nicht identisch <br>
   <a href=\"eintragen.html\">zurück</a>";
   }
?>
Jetzt speichern wir den Benutzername und das verschlüsselte Passwort in der Text-Datei user.txt. Wenn Ihr diesen Script benutzt, sollte keiner den Namen der Datei wissen, damit man Useraccounts nicht so leicht hacken kann.

Der fertige Script sieht dann so aus (eintragen.php):


Code:
<?php
$username = $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];

if ($password == $password2)
   {
   $user_vorhanden = array();
   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");
   while (!feof($userdatei))
      {
      $zeile = fgets($userdatei,500);
      $userdata = explode("|", $zeile);
      array_push ($user_vorhanden,$userdata[0]);
      }
   fclose($userdatei);

   if (in_array($username,$user_vorhanden))
      {
      echo "Username schon vorhanden <br>
      <a href=\"eintragen.html\">zurück</a>";
      }

   else
      {
      $eintrag ="$username|$passwort";
      $userdatei = fopen ("user.txt","a");
      fwrite($userdatei, "$eintrag\n");
      fclose($userdatei);
      echo "$username, deine Anmeldung war erfolgreich
      <br><a href=\"login.html\">zum Login</a>";
      }
   }
?>

Schritt 2: Login
Jetzt kommen wir zum Login.
Dafür brauchen wir natürlich wieder ein Formular mit zwei Feldern (Username und Passwort mit den Namen: username und password).
Ca so:


Code:
 <form action="login.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br>

<input type="submit" value="Login">
</form>

Das Formular ist weiter nicht intressant, aber der PHP Script. Wie immer fragen wir zuerst die beiden Felder ab, und verschlüsseln das Passwort mit der md5-Funktion.
Außerdem geben wir der Variable $log noch den Inhalt 0, warum werdet Ihr später sehen.



Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);
$log = 0;
?>
Im nächsten Schritt öffnen wir die Datei (user.txt) und lesen diese immer nach und nach.
Dabei trennen wir wieder den Benutzername von dem Passwort, damit wir beides überprüfen können.
Dann schauen wir, ob die Eingaben aus dem Formular mit denen aus der Datei übereinstimmen.
Wenn dies der Fall ist, wird der Variable $log der Inhalt 1 zugeordnet.



Code:
<?php
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
   {
   $zeile = fgets($userdatei,500);
   $userdata = explode("|", $zeile);

   if ($userdata[0]==$username and
   $passwort==trim($userdata[1]))
      {
      echo "Hallo $username";
      $log = 1;
      }
   }
fclose($userdatei);
?>

Aber warum steht da $passwort==trim($userdata[1])?
Ganz einfach, mit trim entfernen wir am Anfang und am Ende des Passwortes überflüssige Zeichen, z.B. Leerzeichen und auch ein Zeilenumbruch.
Wir müssen dies machen, weil die Passwörter immer mit einem Zeilenumbruch am Ende gespeichert werden.
Würden wir dies nicht machen, würde der Script nicht funktionieren, weil ein Wort mit einem Zeilenumbruch am Ende nicht das gleiche Wort ist, als wenn es keinen Zeilenumbruch hat.

Wenn jetzt das Passwort und der Benutzername richtig ist, gelangt der User in den Userbereich (hier: Hallo $username).

Wenn kein Benutzername bzw. Passwort passt, dann hat die Variable $log immer noch den Inhalt 0.

Das können wir wiederrum mit einer if-Anweisung überprüfen.

Code:
<?php
if ($log==0)
   {
   echo "Zugriff verweigert";
   }
?>
Das wars auch schon.

Am Ende sieht die Datei so aus:


Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);

$log = 0;
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
   {
   $zeile = fgets($userdatei,500);
   $userdata = explode("|", $zeile);

   if ($userdata[0]==$username and
   $passwort==trim($userdata[1]))
      {
      echo "Hallo $username";
      $log = 1;
      }
   }
fclose($userdatei);

if ($log==0)
   {
   echo "Zugriff verweigert";
   }
?>
Noch ein Tipp:
In der Datei, in der die Passwörter gespeichert werden, die sollte immer geheim bleiben.


Thanks Muss nicht sein.

Ein Lob an dich das du es so gut machst und das du dich auch für sowas interesiert bzw. es pub. machst!



Mfg Detores
.Detores is offline  
Thanks
1 User
Old 10/15/2011, 14:21   #4



 
ShapyShape's Avatar
 
elite*gold: 1792
The Black Market: 394/0/0
Join Date: Aug 2010
Posts: 3,665
Received Thanks: 512
Quote:
Originally Posted by NotEnoughForYou View Post
ganz ok, allerdings ist eine Datenbank um vieles Sicherer bei einem Login. Auch die Registrierung wird so erleichtert.
Bei deiner Methode kann man ganz einfach machen und man hat alles was man braucht
Ja natürlich gibt es verschiedene Varianten Danke
ShapyShape is offline  
Thanks
1 User
Old 10/15/2011, 14:23   #5
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
Deine Variante würde ich nicht empfehlen, da sie extrem unsicher ist. Solange es im geschützen Bereich keine wichtigen Sachen gibt, kann man es verwenden
NotEnoughForYou is offline  
Old 10/15/2011, 14:25   #6



 
ShapyShape's Avatar
 
elite*gold: 1792
The Black Market: 394/0/0
Join Date: Aug 2010
Posts: 3,665
Received Thanks: 512
Quote:
Originally Posted by NotEnoughForYou View Post
Deine Variante würde ich nicht empfehlen, da sie extrem unsicher ist. Solange es im geschützen Bereich keine wichtigen Sachen gibt, kann man es verwenden
Ja also nicht extrem unsicher aber es gibt natürlich sichere Varianten

Danke für die Feedbacks von dir , wenigstens einer der sich dankbar zeigt bzw sich dafür Intressiert.
ShapyShape is offline  
Old 10/16/2011, 20:03   #7
 
.Void''s Avatar
 
elite*gold: 58
Join Date: Jul 2011
Posts: 516
Received Thanks: 75
Sehr nett, ich denke du solltest es aber mit ner Datenbank umschreiben
.Void' is offline  
Old 10/16/2011, 20:45   #8
 
elite*gold: 6
Join Date: Mar 2010
Posts: 416
Received Thanks: 221
Dann würd ich die txt Datei ausserhalb vom webverzeichnis lassen, denn es gibt da so einen htacces Exploit
finaldown97 is offline  
Old 10/16/2011, 22:08   #9
 
Reeek's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
1)
PHP Code:
   if ($userdata[0]==$username and
   
$passwort==trim($userdata[1]))
      {
      echo 
"Hallo $username";
      
$log 1;
      }
   } 
Du meinst wohl statt
echo "Hallo $username";
"Hallo" + $username

weiterhin wird das ganze ziemlich den Server beanspruchen, wenn du bei jeder Seite aufs neue die Datenbank beanspruchst - bei 1000 Anfragen pro Sekunde kommt es da schon zu lags ;D
Reeek is offline  
Old 10/17/2011, 08:59   #10

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Quote:
Originally Posted by Reeek View Post
1)
PHP Code:
   if ($userdata[0]==$username and
   
$passwort==trim($userdata[1]))
      {
      echo 
"Hallo $username";
      
$log 1;
      }
   } 
Du meinst wohl statt
echo "Hallo $username";
"Hallo" + $username

weiterhin wird das ganze ziemlich den Server beanspruchen, wenn du bei jeder Seite aufs neue die Datenbank beanspruchst - bei 1000 Anfragen pro Sekunde kommt es da schon zu lags ;D
Wohl eher echo "Hallo" . $username; ...
Und wo siehst du hier bitte eine Datenbank? Hier wird nur eine .txt Datei verwendet.
boxxiebabee is offline  
Thanks
1 User
Old 10/17/2011, 14:23   #11
 
Reeek's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
ich weiß dass man per . verbindet... das war kein Code sondern... Deutsch ;D

weiterhin wird das ganze per Textdokument noch deutlich mehr laggen...
Reeek is offline  
Old 10/17/2011, 14:54   #12
 
Che's Avatar
 
elite*gold: 120
Join Date: Aug 2010
Posts: 7,448
Received Thanks: 2,756
Quote:
Originally Posted by Lizzaran View Post
Wohl eher echo "Hallo" . $username; ...
Und wo siehst du hier bitte eine Datenbank? Hier wird nur eine .txt Datei verwendet.
wat labascht du?
echo "text $variable"; wird genauso behandelt wie echo "text".$variable; und genauso wie echo "text", $variable;
außerdem ist das script nicht xss sicher! nacher wenn ich wieder heimkomm überarbeit ichs mal und editiers rein...

PS: die lösung mit ner textdatei ist so ziemlich die schlechteste überhaupt, sogar xml dokumente werden noch schneller eingelesen/verarbeitet, ne datenbank ist wohl das beste...
Che is offline  
Old 10/17/2011, 15:47   #13
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
sein Post war darauf bezogen, dass Reek gesagt hat Hallo + $username
NotEnoughForYou is offline  
Thanks
1 User
Old 10/17/2011, 17:39   #14
 
Che's Avatar
 
elite*gold: 120
Join Date: Aug 2010
Posts: 7,448
Received Thanks: 2,756
Quote:
Originally Posted by NotEnoughForYou View Post
sein Post war darauf bezogen, dass Reek gesagt hat Hallo + $username
ups hab ich überlesen, macht aber nix ist trotzdem falsch, dann wurde der fehler halt von nem anderen user begangen, wayne?!?

naja wie auch immer:
  • Die Verwendung von Textdateien ist:
  • extrem lahm
  • extrem unsicher
    Die Verwendung von XML-Dokumenten ist:
  • relativ flott
  • genauso unsicher wie die Verwendung von Textdateien
    Die Verwendung von Datenbanken ist:
  • ziemlich flott
  • ziemlich sicher

Also würde doch jeder vernünftig denkende Mensch zu der Lösung mit Datenbanken tendieren, oder?

Nebenbei: Absolut XSS (Cross Site Scripting) unsicher... htmlspecialchars($variable) tut schon einiges, ist zwar nicht ganz sicher aber es hilft wenigstens bisschen... Wenn dann doch mit Datenbanken gearbeitet wird sollte man auch noch mysql_escape_special_strings($variable) verwenden (man kann beides schachteln ...), damit SQL-Injections auch noch erschwehrt werden...
Che is offline  
Old 10/17/2011, 23:26   #15
 
Reeek's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
echo "text $variable"; wird genauso behandelt wie echo "text".$variable;

eben nicht!
nehmen wir an, $var ist "hey".
bei "text $variable" wird "text $variable" ausgegeben, bei "text".$variable "text hey"
Reeek is offline  
Reply

Tags
php, php login, php script, php&mysql


Similar Threads Similar Threads
MineCraft-Server 24/7 rate System, nonlag, city and region system
07/05/2011 - Minecraft Server Advertising - 2 Replies
Welcome, our new Server Europe is online and it growth. We are looking for new Members and maybe VIP's who want to build on a realistic City. Everyone could buy Region's or get one for a bit of work. We are a friendly community and so please visit us: Server: mc-craft.eu Website (Livemap): *removed
[PvP Funserver]DAMNED[new PvP System, Burnout System, Classbalancing, ...
06/25/2011 - Flyff PServer Advertising - 75 Replies
http://damned-flyff.com/img/logo.png EXP Rate: 500x Drop Rate: 350x Penya Rate: 1200x Hallo und herzlich Willkommen bei DAMNED-Flyff. DAMNED Flyff ist ein neuer Funserver mit einem komplett neuen PvP System um den Spielern ein atemberaubendes PvP Erlebnis zu ermöglichen.
New AntiBot System working! Neues Bot System Funktioniert!
02/25/2011 - DarkOrbit - 7 Replies
Peace. Tage lang war der Bot nicht mehr auf meinem Account an da ich immer andere Sachen zu tun hatte. Heute habe ich den iBot einmal wieder angemacht und zack! Gesperrt. Bei 5 Milliarden EPs bisschen schade aber man hat ja 3 "Gutscheine" erwischt zu werden! Ich empfehle euch keine Bots mehr anzumachen! Anscheinend funktioniert das System nun sehr gut, immerhin wurde ich ein Jahr lang nicht gesperrt :D Today i have been blocked after using iBot! I didn't use it for 3 or more days....
[VK] IPB Market System || GuidTech System! *CHEAP*
01/29/2011 - Trading - 5 Replies
Hey, E*PvPers, Ich wollte da ich es nicht brauche, GuidTech und Ein IPB Market system verkaufen! Kommen wir erstmal zu GuidTech: GuidTech ist ein Schutzprogramm das über einen Host läuft, es schützt vor illegalen Leechen von Programmen zB Hacks, es ist aber eher was für C++ Coder... Vorraussetzungen des Hosts: IPB 2.3 (min.) PHP 4



All times are GMT +1. The time now is 17:27.


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.