php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.02.2012, 10:02  
Neuer Benutzer
 
Registriert seit: 12.02.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
KingLu befindet sich auf einem aufstrebenden Ast
Standard Logindaten sicher machen?

So hier mein Login.php
PHP-Code:
<?php


function filterPost($input_name$strlen_min='5'$strlen_max='30') {
    return (
strlen($_POST[$input_name]) >= $strlen_min && strlen($_POST[$input_name]) <= $strlen_max) ? $_POST[$input_name] : false;
}

error_reporting(-1);

$username filterPost('username');
$password filterPost('password');

$mysqli = new mysqli('localhost''beispielname''beispielpassword''beispieldatenbank');


if (
$username && $password) {
    
$sql 'SELECT * FROM login WHERE
        username = "' 
$mysqli->escape_string($username) . '" AND
        password = "' 
$mysqli->escape_string($password) . '"';
    
$result $mysqli->query($sql);

    
session_start();
    if (
$mysqli->affected_rows == 1) {
    
$_SESSION["Login"] = "YES";
    echo 
"Logindaten Stimmen!";
    echo 
"<br />";
    echo 
"Du wirst in 3 Sekunden zur Adminseite weiter geleitet, fall nicht dann klicke <a href='HomeAdmin.php'>hier</a>!";
    echo 
"<meta http-equiv='refresh' content='3; URL=HomeAdmin.php'>";



    } else {
        
$_SESSION["Login"] = "NO";
        echo 
"Fehler in der Eingabe!"; echo "<br />";
        echo 
"Du wirst in 2 Sekunden zur Startseite weiter geleitet, fall nicht dann klicke <a href='./'>hier</a>!";
        echo 
"<meta http-equiv='refresh' content='2; URL=Home.php'>";

    }
} else {
    echo 
'Benutzername oder Password existieren nicht!';

}
 
/*
var_dump($username);
var_dump($password);
 */

  
?>
hier meine registrieren.php

PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

<
head>
    <
title>Beispiel-Webseite</title>
    <
link href="style.css" type="text/css" rel="stylesheet" />
     <
link rel="shortcut icon" href="icon.ico"/>
</
head>

<
body>
<
header>
    <
h1>Beispiel</h1>
    <
h2>News</h2>

</
header>

<
nav>
    <
ul>
       <
li><a href="Home.php">News</a></li>
        <
li><a href="http://www.youtube.com/user/Beispiel" target="_blank"><li>YouTube</li></a></li>
        <
li><a href="Projekte.php">Projekte</a></li>
        <
li><a href="Kontakt.php">Kontakt</a></li>
        <
li><a href="Sonstiges.php">Sonstiges</a></li>



    </
ul>
</
nav>
</
body>


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

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

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

<
input type="submit" value="registieren!"></form>
         </
article>


    </
section>

         <
aside>
            <
h3>Diese Seite ist von</h3>
            <
p>Beispiel</p>
                 <
a href="http://www.youtube.com/user/Beispiel">
                    <
img src="avatar.jpg" alt="Beispiel" class="grossebild"/>
                 </
a>

            <
p></p>
             <!---
             
Hier ist mein Loginformular
             
--->

            <
h3>Login</h3>
            <
form method="post" action="login.php">
            <
p>Benutzername: <input type="text" name="username" /></p>
            <
p>Passwort: <input type="password" name="password" /></p>
            <
br />
            <
p><input type="submit" value="Login!" /></p>


              <!---
              --->

       </
aside>

       <
footer>
       <
p>&copymade by Beispiel 2011</p>

       </
footer>

</
html
hier meine eintragen.php
PHP-Code:
<?php

function filterPost($input_name$strlen_min='5'$strlen_max='30') {
return (
strlen($_POST[$input_name]) >= $strlen_min && strlen($_POST[$input_name]) <= $strlen_max) ? $_POST[$input_name] : false;
}
$mysqli = new mysqli('localhost''beispielname''beispielpassword''beispieldatenbank');

$username $_POST["username"];
$password $_POST["password"];
$password2 $_POST["password2"];

if(
$password != $password2 OR $username == "" OR $password == "")
    {
    echo 
"Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"Home.php\">Zurück</a>";
    exit;
    }
$password md5($password);

$result $mysqli->query("SELECT id FROM login WHERE username = '$username'");


if (
$mysqli->affected_rows == 0)
    {
    
$eintrag "INSERT INTO login (username, password) VALUES ('$username', '$password')";
    
$eintragen $mysqli->query($eintrag);

    if(
$eintragen == true)
        {
        echo 
"Benutzername <b>$username</b> wurde erstellt. <a href=\"Home.php\">Login</a>";
        }
    else
        {
        echo 
"Fehler beim Speichern des Benutzernames. <a href=\"registrieren.php\">Zurück</a>";
        }


    }

else
    {
    echo 
"Benutzername schon vorhanden. <a href=\"registrieren.php\">Zurück</a>";
    }
?>
hab meinen Daten wie name, passwörter gegen beispiel.... ausgetauscht also nich wundern.

So folgendes Problem

1. Wie verschlüssele ich meine Passwörter das man nicht raus findet welcher User welches Passwort hat?
2. Wenn 1 erfolgreich, wie entschlüssele ich sie damit ich mich mit dem eingebenden Passwort z.b "1234" und nicht mit dem verschlüsselten z.b mit md5 "81dc9bdb52d04dc20036dbd8313ed055" anmelden muss!


Danke im Vorraus
KingLu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.02.2012, 10:28  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Also zu 1 fällt mir keine sonderlich passende Möglichkeit ein.
zu 2. Die Sache ist nicht die, dass du versuchst einen md5-Hash zu entschlüsseln, sondern du nimmst das eingegebene Passwort und wendest darauf wiederum die Hash-Funktion an und vergleichst anschließend die Hashs.
ChrisvA ist offline   Mit Zitat antworten
Alt 12.02.2012, 10:50  
Neuer Benutzer
 
Registriert seit: 12.02.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
KingLu befindet sich auf einem aufstrebenden Ast
Standard

mir hat man gesagt ich soll die Passwörter durch nen gesalzenen Hash verschlüsseln!

!. Wie mache ich dies?
2. Ist das die "sicherste" Möglichkeit?
3. Gibt es andere?

und wie entschlüssele ich die wieder? ich bekomme das einfach nicht hin!
KingLu ist offline   Mit Zitat antworten
Alt 12.02.2012, 10:53  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

- filter_var
- Existenzprüfung -> Fallback auf nicht-existenz-Default
- Nicht Scripts mittendrin abbrechen sondern das Script so aufbauen das es durchläuft
- SHA > MD5 bei Passwörtern
- Salt your Hashes ( Salt by Crypt , Salt by String-Hashing )
- SQL-Injection
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 12.02.2012, 11:02  
Neuer Benutzer
 
Registriert seit: 12.02.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
KingLu befindet sich auf einem aufstrebenden Ast
Standard

ok und welche dieser varianten würdest du/ihr mir empfehlen?
Bin nich gut in englisch hast du auch was deutsches da?

1.und welches Skript breche ich den ab?
2. Kann ich eigendlich Daten aus 2 verschiedenen Tabellen vergleichen also wenn die Daten aus Tabelle A stammen, dann soll der User dahin geschickt werden. Wenn die Daten aus Tabelle B stammen soll der User dort hin geschickt werden?
KingLu ist offline   Mit Zitat antworten
Alt 12.02.2012, 11:14  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Erst Planen, dann Entwickeln.

1) Nicht verstanden, deutlicher und detaillierter bitte.
2) Können tut man Grundsätzlich alles, ob Sinnvoll oder nicht hängt davon ab was du generell tun willst. Pauschal beantwortet: Ja.

Die allermeisten Tutorials für PHP, viele PHP-Documentationseinträge und alle RFCs sind ( grundsätzlich ) in Englisch, gewöhn dich dran, sehs als "Grundvoraussetzung".
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 12.02.2012, 11:29  
Neuer Benutzer
 
Registriert seit: 12.02.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
KingLu befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Nicht Scripts mittendrin abbrechen sondern das Script so aufbauen das es durchläuft
das meinte ich welches script meinst du den? Welches breche ich den ab?
KingLu ist offline   Mit Zitat antworten
Alt 12.02.2012, 11:33  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Lies mal nach was exit bewirkt.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 12.02.2012, 11:56  
Neuer Benutzer
 
Registriert seit: 12.02.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
KingLu befindet sich auf einem aufstrebenden Ast
Standard

ja aber was ist daran schlecht? das ich das sctript beende?
denn wenn ich das sctript nich beende wird ein user erstellt obwohl nichts ausgefüllt ist.
KingLu ist offline   Mit Zitat antworten
Alt 12.02.2012, 12:23  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

bad:
PHP-Code:
if ( !isset($foo) ) {
   echo 
'$foo was not set.';
   exit;
}

echo 
$foo
good:
PHP-Code:
if ( isset($foo) ) {
   echo 
'$foo has value: '.$foo;
}
else {
   echo 
'$foo was not set.';

Weil:
PHP-Code:
if ( !isset($foo) ) die('foo was not set');

/* 1000 Zeilen später */

if ( !isset($foo) ) $foo true;

/* 100 Zeilen später */

if ( $foo ) {
   echo 
'nerdy.';

denn:
PHP-Code:
if ( isset($foo) ) {
   echo 
'$foo has value: '.$foo;
}
else {
   echo 
'$foo was not set.';
}

/* 1000 zeilen später */

if ( !isset($foo) ) $foo true;

/* 100 zeilen später */

if ( $foo ) {
   echo 
'nerdy.';

Spart "Warum wird xy nich ausgeführt"-Fragen.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Logindaten per inidatei abrufen GiS PHP Tipps 2010 3 01.08.2010 22:33
Logindaten über MYSQL holen! Sp1n PHP Tipps 2009 37 13.08.2009 09:22
Integration von phpbb - Logindaten der eigenen Seite verwenden grunz PHP-Fortgeschrittene 8 28.07.2009 13:05
Logindaten aus dem phpbb2 Forum PHP-Fortgeschrittene 5 19.10.2004 22:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum