SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.01.2010, 18:57:20
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
MYSQL-Login und Sicherheit

Hallo,

Ich bin neu hier und noch ein anfänger. Aber trotzdem habe ich mir ein Login-Script gebastelt
Das Script klappt auch wunderbar. Aber ich wollte dann noch wissen wie es mit der Sicherheit meines Scriptes aussieht?

PHP-Code:
<?php
require ('../../files/db_connect.inc.php');

$db_conn mysql_connect DB_HOST DB_USER DB_PWD )
      or DIE ( 
'Die Verbindung zur MYSQL-Datenbank ist fehlgeschlagen '.mysql_error() );
/*      if ( $db_conn ) {
          echo 'Die Verbindung zur MYSQL-Datenbank wurde hergestellt';
      }*/
$db_sel mysql_select_db DB_NAME );
      if ( 
$db_sel ) {
          
$db_res mysql_query 'SELECT * FROM '.DB_TABLET );
                if ( !
$db_res ) {
                    DIE ( 
'Ung&uuml;ltige Abfrage: '.mysql_error() );
                }
                else {
                    while ( 
$db_row mysql_fetch_array $db_res ) ) {
                         if ( 
$db_row['username'] == mysql_real_escape_string $_POST['username'] ) AND mysql_real_escape_string $_POST['password'] ) == $db_row['password'] ) {
                             echo 
'Sie sind eingeloggt';
                         }
                         else {
                             echo 
'Sie haben keine Berechtigung';
                         }
                    }
                }
          }
          else {
              echo 
'Fehlgeschlagen';
          }
?>
Ich könnte auch tipps gebrauchen, wie ich sowas auch besser lösen kann
Mit Zitat antworten
  #2  
Alt 31.01.2010, 20:48:46
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: MYSQL-Login und Sicherheit

PHP-Code:
$_POST['password'] ) == $db_row['password'
Wie mir scheint speicherst du die Passwörter unverschlüsselt. Dies solltest du zwingend ändern. Passwörter sollten immer verschlüsselt gespeichert werden.

Im Echtbetrieb: mysql_error() würde ich nicht ausgeben sondern in eine Datei schreiben. Ein Hinweis, daß die DB zur Zeit nicht erreichbar ist ist wiederum ok. Fehler könnte man sich ggf. zu nutze machen.

PHP-Code:
if ( $db_row['username'] == mysql_real_escape_string $_POST['username'] ) AND mysql_real_escape_string $_POST['password'] ) == $db_row['password'] ) {
                             echo 
'Sie sind eingeloggt';
                         } 
Hier würde ich den SELECT so abändern, daß hier nur die Daten geholt werden, wenn PW und Benutzer zusammen passen. Alle anderen Datensätze werden hierbei ja nicht gebraucht.

Tip: Die Verbindung zur DB und auch SELECT, UPDATE etc. würde ich als Funktion bzw. Klasse mir erstellen. Bei Änderungen wäre der Pflegeaufwand bedeutend leichter.
Mit Zitat antworten
  #3  
Alt 01.02.2010, 13:13:11
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
AW: MYSQL-Login und Sicherheit

Danke für deine Antwort, werde mich mal damit beschäftigen. Aber wegen den Verschlüsselten Passwort habe ich noch nicht eingebaut, wollte ich aber auch machen. Aber ich wollte jetzt beim erstellen noch nicht das Passwort verschlüsselt in die Datenbank legen. Und ich wollte schritt für schritt lernen wie das umsetze (z.B. erst eine Verbindung aufbauen, dann DB auswählen, usw.). Es bringt mir ja nichts wenn mir jemand alles hier hin coded. Besser ich lerne es wie es geht oder lasse es gleich bleiben :D
Mit Zitat antworten
  #4  
Alt 01.02.2010, 17:39:38
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: MYSQL-Login und Sicherheit

beachte vor allem das eva-prinzip.

cx
Mit Zitat antworten
  #5  
Alt 03.02.2010, 11:38:31
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
AW: MYSQL-Login und Sicherheit

Danke für den Tipp. Werde aber erst Donnerstag wieder ans coden kommen!
Mit Zitat antworten
  #6  
Alt 04.02.2010, 21:28:07
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
AW: MYSQL-Login und Sicherheit

So habe mich mal wieder an das Script rangenmacht und bissche geändert.

PHP-Code:
<?php
require ('../../files/db_connect.inc.php');

$db_conn mysql_connect DB_HOST DB_USER DB_PWD )
      or DIE ( 
'Die Verbindung zur MYSQL-Datenbank ist fehlgeschlagen ' );

$auth_user $_POST['username'];
$auth_pass $_POST['password'];

$auth_user mysql_real_escape_string $auth_user );
$auth_pass mysql_real_escape_string $auth_pass );


$db_sel mysql_select_db DB_NAME );

$db_sql "SELECT username, password FROM '.DB_TABLET.' WHERE username = '$auth_user' AND password = '$auth_user'";
          
$db_res mysql_query $db_sql );
if ( 
mysql_fetch_assoc$db_res ) == TRUE ) {
    echo 
"Erfolgreich" ;
}
else {
    echo 
"Keine Berechtigung";
}
?>

So ich bekomme eine fehler
Zitat:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\Users\Fridge\Homepage\html\uebung\Mysql.php on line 18
änder ich die Konstante von dem Tabellen namen ab und trage dort den richtigen namen ein, bekomme ich keine Fehlermeldung mehr...aber ich kann eingeben was ich will, ich kommen trotzdem nicht rein! :(

Also ich weis nicht was ich falsch mache?

Achso ich habe immer noch nicht das passowrt verschlüsselt!
Mit Zitat antworten
  #7  
Alt 04.02.2010, 21:37:41
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: MYSQL-Login und Sicherheit

grundsätzlich machst du falsch, dass du nicht di hinweise beachtest, die ich verfasst habe:

http://www.selfphp.de/forum/showthread.php?t=8195

vor allem wichtig: fehlermeldung ausgeben lassen, statement ausgeben lassen und gucken, ob es so aussieht, wie man es sich gedacht hat. tippfehler überprüfen!

zeig uns mal die stelle, wo du die konstante definierst.
Mit Zitat antworten
  #8  
Alt 04.02.2010, 21:40:14
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
AW: MYSQL-Login und Sicherheit

Sorry, habe ich irgendwie übersehen...werde es mir direkt reinziehen!

Danke!
Mit Zitat antworten
  #9  
Alt 04.02.2010, 21:54:57
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
AW: MYSQL-Login und Sicherheit

PHP-Code:
<?php
require ('../../files/db_connect.inc.php');

$db_conn mysql_connect DB_HOST DB_USER DB_PWD )
      or DIE ( 
'Die Verbindung zur MYSQL-Datenbank ist fehlgeschlagen ' );

$auth_user $_POST['username'];
$auth_pass $_POST['password'];

$auth_user mysql_real_escape_string $auth_user );
$auth_pass mysql_real_escape_string $auth_pass );


$db_sel mysql_select_db DB_NAME );
          
$db_sql "SELECT username, password FROM db_benutzer WHERE username = '$auth_user' AND password = '$auth_user'";
          
$db_res mysql_query $db_sql ) or DIE ( mysql_error() );
if ( 
mysql_fetch_assoc$db_res ) == TRUE ) {
    echo 
"Erfolgreich" ;
}
else {
    echo 
"Keine Berechtigung";
}
?>
So habe dein link mal angesehen, ich habe jetzt den Tabellen name nicht als Konstante angegeben sonder habe den richtigen namen genommen...Jezt habe ich auch keine Fehlermeldung mehr. Habe jetzt auch mal nach Tippfehlern geschaut. Aber egal ob ich die richtigen Login daten eingebe oder die falschen...Ich bekomme immer "keine Berechtigung" zurück.
Also ist irgendwo im vergleich ein fehler, nur ich sehe da kein fehler. Aber vielleicht kann mir einer ein Tipp geben?
Mit Zitat antworten
  #10  
Alt 04.02.2010, 22:01:21
Fridge Fridge ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 47
Beiträge: 14
AW: MYSQL-Login und Sicherheit

Hat sich erledigt!
Keine ahnung warum es jetzt klappt *G*

Danke für eure hilfe, jetzt werde ich die anderen Punkte die ihr mir gegeben habt umsetzen!
Mit Zitat antworten
Antwort

Stichworte
login, sicherheit


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht 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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 09:18:11
Login Server und MySQL hbriele MySQLi/PDO/(MySQL) 4 31.08.2006 13:55:10
Login MySQL Gamerfun MySQLi/PDO/(MySQL) 2 28.12.2005 18:03:13
DNS und LogIn MySql Da_Hero MySQLi/PDO/(MySQL) 2 18.12.2004 02:19:53
Login ohne MySQL Ailana PHP für Fortgeschrittene und Experten 2 05.11.2002 23:10:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:51:07 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt