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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
31.01.2010, 18:57:20
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
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ü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
|
31.01.2010, 20:48:46
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
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.
|
01.02.2010, 13:13:11
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
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
|
01.02.2010, 17:39:38
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: MYSQL-Login und Sicherheit
beachte vor allem das eva-prinzip.
cx
|
03.02.2010, 11:38:31
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
Beiträge: 14
|
|
AW: MYSQL-Login und Sicherheit
Danke für den Tipp. Werde aber erst Donnerstag wieder ans coden kommen!
|
04.02.2010, 21:28:07
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
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!
|
04.02.2010, 21:37:41
|
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.
|
04.02.2010, 21:40:14
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
Beiträge: 14
|
|
AW: MYSQL-Login und Sicherheit
Sorry, habe ich irgendwie übersehen...werde es mir direkt reinziehen!
Danke!
|
04.02.2010, 21:54:57
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
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?
|
04.02.2010, 22:01:21
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 48
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!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Ä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 20:31:15 Uhr.
|