Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Gamer88

unregistriert

1 Zum Seitenanfang

Samstag, 27. Juni 2009, 17:54

Woher nimmt man das passwort oder weiß das die daten richtig sind

Hallo ich möchte jetzt die ausgabe von meinem Formular machen, dazu poste ich einen teil meines Formulars

HTML

1
2
3
4
<form action="anmeldeformularausgabe.php" method="post">
<input type="Password" name="passwort">
<input type="Submit" value="Absenden">
</form


PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$passwort $_POST["passwort"];

if($passwort=="")
   {
   echo "Herzlich Willkommen";
   }
else
   {
   echo "Das Passwort ist falsch";
   }


?>



Wie nehme ich da ein passwort her, das verstehe ich einfach nicht. Natürllich sind die anderen PHP Dateien noch nicht fertig, daher kann ich euch leider nicht mehr an code geben

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Gamer88« (27. Juni 2009, 17:54)

 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

2 Zum Seitenanfang

Samstag, 27. Juni 2009, 18:03

Kannst du dein Problem bitte noch einmal in verständlicher Form schildern?

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

3 Zum Seitenanfang

Samstag, 27. Juni 2009, 18:05

du schreibst rein (wie dus schon hast): if($_POST['passwort'] == "bla123") ...
und wenn man als Passwort bla123 eingibt, kommt dann bei dir "Herzlich Willkommen", wenn das PW falsch ist, kommt "Das Passwort ist falsch".


dermainzer
 

Gamer88

unregistriert

4 Zum Seitenanfang

Samstag, 27. Juni 2009, 18:09

Dann meine ich einmal wenn man sich registriert wie man das passwort irgendwo speichert und bei dem was du sagst dermainzer da meine ich das Pw muss ja stimmen, ich will ja aber nicht nur einen User registrieren bzw der user sich registriert sondern viele, da muss man doch irgendwie was anderes machen

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gamer88« (27. Juni 2009, 18:09)

 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

5 Zum Seitenanfang

Samstag, 27. Juni 2009, 18:14

da speicherst du am besten die User mit Passwort in einer Datenbank. Dann musst du nur noch den User abfragen und das Passwort, wenn beides stimmt ist man eingeloggt.
Hier mal ein Codeschnipsel:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
// db verbindung herstellen
$query mysql_query("SELECT * FROM tabelle WHERE user= '".mysql_real_escape_string($_POST['username']."' AND pw = '".md5($_POST['passwort']."'"); // das passwort braucht kein mysql_real_escape_string, weils mit md5 gehasht wurde. dafür muss das passwort aber auch md5 gehasht in der datenbank abgelegt sein
$rows mysql_num_rows($query); // die Zeilen zählen, die auf das Query "anspringen"
if($rows == 1) { // wenn es nur eine übereinstimmung gibt
// session setzen oder ach nicht
}
else {
// wenn es keine übereinstimmung gibt (mehrere sollte man vermeiden durch eine überprüfung ob ein benutzername schon exisiert)
}




dermainzer

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dermainzer« (27. Juni 2009, 18:14)

 

Gamer88

unregistriert

6 Zum Seitenanfang

Samstag, 27. Juni 2009, 18:21

Danke

Ja so hab ich mir auch gedacht, Aber wo sage ich dem code wo du mir gepostet hast wo er hin muss zu meiner Datenbank.

Zudem soll

-Username
-passwort
-pw wiederholen
-email
-email wiederholen

-herr/frau
-Vorname
-Name
-Strasse
-hausnummer
-stadt
-land
-geburtsdatum

das alles gespeichert werden

Kann ich das überhaupt administrieren wenn ich geringe Kenntnisse habe
 

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 594

 

7 Zum Seitenanfang

Samstag, 27. Juni 2009, 21:27

Ja, das ist eine einfache eingabe über ein Formular.
Guck mal HIER den Bereich über PHP und MySQL an.
da findest du alle Grundlagen die du für so ein script benötigst.
Wenn du denn Bereit bist das auch zu lernen und nicht nur einen fertiges Script möchtest.
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
 

Gamer88

unregistriert

8 Zum Seitenanfang

Samstag, 27. Juni 2009, 21:44

Klar bin ich bereit zu lernen, geb mein bestes, Schattenbaum net kenn ich schon, finds nicht so gut.

Wäre super wenn du mir die netsprechenden Kapitel postest, muss ich alles können um sowas zu erstellen, auch MySQL
 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

9 Zum Seitenanfang

Sonntag, 28. Juni 2009, 08:51

Bei Schattenbaum.net brauchst du

- Anfang
- Text ausgeben
- Variablen
- Variablen übergeben
- Math. Operatoren
- Vgl. Operatoren
- If-Anweisung
- Log. Operatoren
- Datum & Uhrzeit
- Arrays (+foreach)
- while-Schleife
- for-Schleife
(- eMail-Versand)
- Includes

- Anfang
- DB und Tabellen
- Tabellen füllen
- Verb. herstellen
- Einfache Abfrage
- Weitere Abfrage
- Daten ausgeben
- Daten hinzufügen
- Daten löschen
(- Daten ändern)


Das sind fast alle Kapitel aus dem Tutorial, machs am beste einmal durch. Oder du nimst dieses Tutorial, das ist aber noch umfangreicher und schreckt dich vlt. noch mehr ab.


dermainzer
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

10 Zum Seitenanfang

Sonntag, 28. Juni 2009, 11:43

hallo Gamer88,

wenn du lust hast, dann können wir über icq ein wenig php lernen. Ideal wäre es wenn du sommerferien hättest:D weil bei mir auf der Arbeit ist gerade tote hose da alle im Sommerurlaub sind da kann ich dir alle Fragen beantworten und tipps geben.
also wenn du lust hast dann schick mir mal per pn deine icq nr.

MFG
Mein kleines Projekt
-Cruel Online-
 

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 594

 

11 Zum Seitenanfang

Sonntag, 28. Juni 2009, 11:47

Na das ist doch mal Service. :D
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
 

Gamer88

unregistriert

12 Zum Seitenanfang

Sonntag, 28. Juni 2009, 15:22

Ist ja erstmal nett gemeint, aber so wie ich es euren Argumentationen und auch auf den seiten wo PHP erklärt wird entnehme reicht es nicht aus das alles zu lernen.
Um Programmieren zu können muss man ein guten Kopf haben.

@cccpmik ich werde mir jetzt die Seiten doch noch mal durchschauen bevor ich dich wahrscheinlich mit Fragen löchere ;)

Nein ferien habe ich keine, bin berufstätig . habe gerade meine prüfung bestanden( Einzelhandelskauffrau) und bin direkt übernommen worden.

Daher leider wenig Freizeit.

ich hab einfach das Gefühl bei PHP reicht es nicht die befehle und Möglichkeiten zu kennen, sondern man muss sich was ausdenken, das ist für mich viel schwerer.



edit: ich bin jetzt schon beim nächsten kapitel angekommen

[php<?php
$username = "username";
$passwort = "daspasswort";

if( ($username=="username" AND $passwort=="daspasswort")
OR
($username=="ich" AND $passwort=="geheim") )
{
echo "Eintritt gestattet";
}
?>
][/php]

Sieht ja schon recht gut aus. Und wenn ich jetzt einen Adminlogin erstellen will um vielleicht ein zwei Textseiten nur für mich anzuzeigen reicht das doch aus. Stimmt das so oder nicht? Ist das ein sicherer unknackbarer Zugang ode rnicht

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gamer88« (28. Juni 2009, 15:22)

 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

13 Zum Seitenanfang

Sonntag, 28. Juni 2009, 18:00

also von der syntax muss das etwas anders aussehen aber so könnte man es machen:

  Spoiler Spoiler

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
$username1 "username";
$password1 md5("daspasswort");
$username2 "ich";
$password2 md5("geheim");

if($username1 == $_POST['username'] && $password1 == md5($_POST['password'])){
 echo "Eintritt gewährt";
}elseif($username2 == $_POST['username'] && $password2 == md5($_POST['password'])){
echo "Adminlogin erfolgreich";
}else{
echo "Zugang verweigert";
}



MFG
Mein kleines Projekt
-Cruel Online-
 

Gamer88

unregistriert

14 Zum Seitenanfang

Sonntag, 28. Juni 2009, 23:22

jetzt sollte ich mich ja jetzt mit username/daspasswort oder ich/geheim einloggen können, dazu hast du es mit md5 verschlüsselt, ist nicht die sicherste methode aber ums zu kacken
müsste der cracker jedesmal ein neues Pw eingeben, das && beudeutet AND kann man aber auch so schreiben :-P


Ich kann mich aber weder mit dem ein noch anderen Usernamen/Pw einloggen

Formular sieht so aus.

HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action="log_ausgabe.php" method="POST">
     <fieldset>
           <label>Login:</label>

          <p>
             <label>Username*:</label>
                     <input type="text" name="user" />
             </p>

              <p>
                     <label>Passwort*:</label>
	 <br />
                     <input type="password" name="pass" />
              </p>

              <p>
                    <input class="absendebutton" type="submit" value="Absenden" />
                         <input class="absendebutton" type="reset" value="Abbrechen" />
                    </p>
   </fieldset>
</form>


POST hatte ich auch schon kleingeschrieben, dateiname ist log_ausgabe.php. Stimmt auch.

Es kommt aber immer die Meldung Zugriff verweigert

css ist ja nicht so wichtig aber hier

Cascading Style Sheet

1
2
3
fieldset {width: 222px; height: auto}
input {width: 200px}
.absendebutton {width: 100px; background-color: #FF0000}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gamer88« (28. Juni 2009, 23:22)

 

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 594

 

15 Zum Seitenanfang

Montag, 29. Juni 2009, 00:42

Wie ist denn der Inhalt deiner log_ausgabe.php?
Weil so wie ich das sehe verwendet das bisher angegebene script die Variable "username", absenden tust du den Namen aber als Variable "user" .
Genau das gleiche gilt fürs Passwort, das im eigentlichen Script bisher mit "passwordx" benannt wird, von dir aber als "pass" abgesendet wird.
Dann kann es natürlich nicht klappen.
Wenn es das nicht ist, weiß ich auch nciht, dafür bräuchte ich dann den inhalt deiner log_ausgabe.php.
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

16 Zum Seitenanfang

Montag, 29. Juni 2009, 07:57


<input type="text" name="user" />
<br /> <input type="password" name="pass" />


dann muss es in deinem fall $_POST['user'] und $_POST['pass'] lauten oder du kannst auch deine variablen genau so bennen wie der name der inputfelder dann brauchste kein post. also in deinem fall

if($username == $user) //sollte so gehen.

MD5 ist eigentlich ganz sicher denn du kannst damit ein passwort verschlüsseln aber nicht entschlüsseln dazu braucht der "cracker" eine sogenannte Rainbow Tabelle um dein passwort zu hacken um schutzt dagegen aufzunehmen musst du dein passwort mit einem benutzerspezifischen string kombinieren und mit md5 verschlüsseln dann ist es sicher. also beispiel:

$user1 = 'benutzer';
$user1_email = 'test@test.de';
$user1_pw = md5($user1_email.'daspasswort');

somit ist es abgesichert dass wenn ein "cracker" mal ein passwort hackt dann bleibt es auch dabei dass er nur dieses gehackt hat und nicht von anderen usern auch.

wegen AND und && ich würde es lieber bei && || belassen und nicht AND OR etc einzusetzen.

zu deinem eigentlichen Problem. So wie Jan es sagte müsste dein script so aussehen:

  Spoiler Spoiler

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$username1 'username';
$password1 '6aad2bb8db6975d58b6b3f1667f84156 ';
$username2 "ich";
$password2 'e8636ea013e682faf61f56ce1cb1ab5c ';

$formular_user $_POST['user'];
$formular_pass md5($_POST['pass']);

if($username1 == $formular_user && $password1 == $formular_pass){
 echo "Eintritt gewährt";
}elseif($username2 == $formular_user && $password2 == $formular_pass){
echo "Adminlogin erfolgreich";
}else{
echo "Zugang verweigert";
}


oder besser so:

  Spoiler Spoiler


PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<form method="post" action="<?php $PHP_SELF ?>" name="formular" >
    Benutzername:<br/> <input type="text" name="user"><br/>
    Passwort:<br/><input type="password" name="pass"><br/>
    <input type="submit" name="login" value="Login">
</form>
<?php
$user['username'] = array('6aad2bb8db6975d58b6b3f1667f84156','1'); // Benutzer mit seinem passwort und zugriffsrechte anlegen
$user['ich'] = array('e8636ea013e682faf61f56ce1cb1ab5c','2');

$u mysql_real_escape_string($_POST['user']); //alle html befehle und javascripts escapen aus deim eingabefeld
$p md5(mysql_real_escape_string($_POST['pass'])); // das eingegebene verschlüsseln

if(isset($_POST['login'])){ // wenn button login geklickt wurde..
    if($user[$u][0] == $p// prüfe ob das passwort mit dem benutzer übereinstimmt
    {
            switch($user[$u][1]) // wenn das passwort stimmt zeige eine meldung je nach rechte
            {
                case '1':
                    {
                        echo "willkommen User";
                        break;
                    }
                case '2':
                    {
                        echo "willkommen Admin";
                        break;
                    }
                }
            }else{ //... sonst zeige fehlermeldung
                echo "Zugriff Verweigert";
            }
        }
        ?>



MFG

PS: bitte verwende den SP button damit ich in dem Forum nicht nach rechts oder links scrollen muss um ein beitrag zu zetieren
Mein kleines Projekt
-Cruel Online-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (29. Juni 2009, 07:57)

 

Gamer88

unregistriert

17 Zum Seitenanfang

Donnerstag, 2. Juli 2009, 04:46

dein zweiter Spoiler sieht schon so perfekt aus, ich hab es zum üben mal als meine ausgabe verwendet. Ich hab nur ein problem, ich habe vor alle PHP Dateien in einen ordner php abzulegen. du hast aber bei der ausgabe das hier rein geschrieben <?php $PHP_SELF ?>(wenn ich bei action drinlasse erscheint seite kann nicht angezeigt werden, wenn ich php/loginausgabe.php eingebe, kommt die echoausgabe :D

Das sieht mir nach einer vorgegebene variable von PHP aus, hatte darüber nur einen kurzen Artikel gelesen. Sie soll bestimmt die php dateien im webspaceordner suchen oder?

und welcher username/pw ist das jetzt , habe username und als pw 6aad2bb8db6975d58b6b3f1667f84156 versucht, Zugriff verweigert
und ich und pw e8636ea013e682faf61f56ce1cb1ab5c auch nicht möglich.

Meine dateien wie ich sie jetzt habe:

HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="oben_links">
<h2>Login<br />
Username:
</h2>
<form action="php/loginausgabe.php" method="POST">
<p><input name="user" type="text" /></p>
<h2>Passwort: <br /></h2>
<p><input name="pass" type="password" /><br /><br /></p>

<p><input class="absendebutton" type="submit" name="login" value="Login" />
<input class="absendebutton" type="reset" value="Abbrechen" /></p>
</form>
</div>


php von dir @cccpmik

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$user['username'] = array('6aad2bb8db6975d58b6b3f1667f84156','1'); // Benutzer mit seinem passwort und zugriffsrechte anlegen
$user['ich'] = array('e8636ea013e682faf61f56ce1cb1ab5c','2');

$u mysql_real_escape_string($_POST['user']); //alle html befehle und javascripts escapen 
$p md5(mysql_real_escape_string($_POST['pass'])); // das eingegebene verschlüsseln

if(isset($_POST['login'])){ // wenn button login geklickt wurde..
    if($user[$u][0] == $p// prüfe ob das passwort mit dem benutzer übereinstimmt
    {
            switch($user[$u][1]) // wenn das passwort stimmt zeige eine meldung je nach rechte
            {
                case '1':
                    {
                        echo "willkommen User";
                        break;
                    }
                case '2':
                    {
                        echo "willkommen Admin";
                        break;
                    }
                }
            }else{ //... sonst zeige fehlermeldung
                echo "Zugriff Verweigert";
            }
        }
        ?>


PHP ist gespeichert unter php/loginausgabe.php

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gamer88« (2. Juli 2009, 04:46)

 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

18 Zum Seitenanfang

Donnerstag, 2. Juli 2009, 08:16

nein diese zahlen

6aad2bb8db6975d58b6b3f1667f84156

das ist das verschlüsselte passwort. welches mit md5 verschlüsselt wurde.das besondere daran ist. dass du den md5 wert nicht entschlüsseln kannst. das einzige was man machen könnte ist eine reihe an wörtern mit md5 verschlüsseln und dann die erhaltenen zahlen mit einander prüfen. ich habe deine passwörter "daspasswort" und "geheim" als md5 wert in die php datei eingetragen weil man sollte ja eigentlich nie in datein/datenbanken das passwort als klartext abspeichern. gib mal als passwort "geheim" oder "daspasswort". dann wirds funktionieren

MFG
Mein kleines Projekt
-Cruel Online-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (2. Juli 2009, 08:16)

 

Gamer88

unregistriert

19 Zum Seitenanfang

Montag, 6. Juli 2009, 14:32

was ist denn das nun: <?php $PHP_SELF ?>


Ich glaube das wird nicht sicher genug sein, muss es doch so machen wie dermainzer gesagt hat mit datenbak . das erscheint als die sicherste und hauptsächlich verwendete methode
 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

20 Zum Seitenanfang

Montag, 6. Juli 2009, 14:52

PHP-Quelltext

1
$PHP_SELF
ist veraltet. Heutzutage benutzt man

PHP-Quelltext

1
$_SERVER['PHP_SELF']

Zitat aus dem Manual:

Zitat

Der Dateiname des aktuell ausgeführten Skripts, relativ zum Document Root. Beispielsweise enthält $_SERVER['PHP_SELF'] in einem Skript, das über die Adresse http://example.com/test.php/foo.bar aufgerufen wird, den Wert /test.php/foo.bar/. Die Konstante __FILE__ enthält den vollständigen Pfad und Dateinamen der aktuellen (z.B. via include eingebundenen) Datei. Läuft PHP als Kommandozeilenprogramm, enthält diese Variable seit PHP 4.3.0 den Namen des Skripts. Davor war die Variable nicht verfügbar.



dermainzer
 

Ähnliche Themen