php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 12-12-2006, 00:24
DragonGun
 Newbie
Links : Onlinestatus : DragonGun ist offline
Registriert seit: Dec 2006
Beiträge: 7
DragonGun ist zur Zeit noch ein unbeschriebenes Blatt
Standard phpMyAdmin, MD5 Passwort

Hi Leute

erst mal Sorry wenn ichs im falschen Forum poste sollte.

Ich hab mir heute auf nem Webspace phpMyAdmin installiert und DBs von einem anderen WS importiert. Alles gut und Recht.

Das Problem war dann allerdings, das zuvor funktionierende Loginscript geht nicht mehr.

Das Passwort ist als MD5 verschlüsselt und funktionierte auf dem "alten" Server einwandfrei, auf dem neuen heissts einfach dass das Passwort falsch ist.

Hier einige Eckdaten zum alten Server:
MySQL Version: 4.0.25
phpMyAdmin Version: 2.6.0-pl3
PHP Version: 4.3.9

neuer Server:
MySQL Version: 4.0.24
phpMyAdmin Version: 2.9.1.1
PHP Version: 4.4.4

Mehr weiss ich leider nicht, könnte es aber evtl. rausfinden.

Wäre froh wenn mir da jemand helfen könnte.

Danke schonmal im voraus
DragonGun
Mit Zitat antworten
  #2 (permalink)  
Alt 12-12-2006, 00:31
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: phpMyAdmin, MD5 Passwort

Schuss ins Blaue: magic_quotes_gpc?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-12-2006, 00:33
DragonGun
 Newbie
Links : Onlinestatus : DragonGun ist offline
Registriert seit: Dec 2006
Beiträge: 7
DragonGun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die schnelle Antwort, aber leider weiss ich nicht was du meinst

Bin leider nicht so versiert in der Materie wie Du vielleicht bemerkt hast
Mit Zitat antworten
  #4 (permalink)  
Alt 12-12-2006, 00:53
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Damit meint er, dass er vermutet, dass bei der Übergabe des PW aus dem Formular ggf Zeichen automatisch von PHP escaped werden und dann natürlich der Hash Wert dieses String nicht mehr mit jenem aus der DB übereinstimmt.
Sobald du das Login Form abgeschickt hast, machst du auf dem Empfangsseite am besten mal ein
PHP-Code:
var_dump($_POST); 
und suchst nach dem PW Feld. Steht das PW dort so wie es sollte oder sind ggf noch Backslashes drinn, welche PHP automatisch angefügt hat ?

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #5 (permalink)  
Alt 12-12-2006, 01:00
DragonGun
 Newbie
Links : Onlinestatus : DragonGun ist offline
Registriert seit: Dec 2006
Beiträge: 7
DragonGun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das einzige das ich damit rausbekomme ist:

Code:
array(2) { 0 }
Code:
array(2) { ["username"]=> string(5) "admin" ["zurueck"]=> string(6) "Zurück" }
Mit Zitat antworten
  #6 (permalink)  
Alt 12-12-2006, 01:02
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und wer hat das Passwort gefressen?
Mit Zitat antworten
  #7 (permalink)  
Alt 12-12-2006, 01:14
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und welches davon ist dein PW ? Kann es sein, dass dieses Feld in diesem Array gar nicht vorkommt ? Oder ist es das Feld 'zurueck' ? Was eine sehr gute Wahl für den Namen eines PW Feldes wäre
Also vllt postest du mal einen Auszug deines Forms und ggf ein paar Zeilen deines verarbeitenden Codes. Aber bitte nicht alles sondern nur die Zeilen wo es um die Prüfung der Login Daten geht +- max 10 Zeilen.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #8 (permalink)  
Alt 12-12-2006, 01:19
DragonGun
 Newbie
Links : Onlinestatus : DragonGun ist offline
Registriert seit: Dec 2006
Beiträge: 7
DragonGun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Login:

PHP-Code:
<?php
session_start
();
require(
"connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Login</title>
  <link rel="stylesheet" type="text/css" href="site/inhalt.css">
  </head>
  <body>
  <?php if(!isset($_POST['submit'])) { ?>
  <form action="<?php $PHP_SELF ?>" method="post">

......

<?php
  
}elseif(!$_POST['username'] || $_POST['username'] == "") {
    echo 
'<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zurück</a></p>';
  }elseif(!
$_POST['password'] || $_POST['password'] == "") {
    echo 
'<form action="index.php" method="post">';
    echo 
'<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
    echo 
'<input type="hidden" name="username" value="'.$_POST['username'].'">';
    echo 
'<input type="submit" name="zurueck" value="Zurück">';
    echo 
'</p>';
    echo 
'</form>';
  }else{
    
$password md5($password);
    
$query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
    
$result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zurück</a></p>');
    if(
$password != $result['pass']){
      echo 
'<form action="index.php" method="post">';
      echo 
'<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
      echo 
'<input type="hidden" name="username" value="'.$_POST['username'].'">';
      echo 
'<input type="submit" name="zurueck" value="Zurück"></p>';
      echo 
'</form>';
      die;
    }else{
      
$user $result['user'];
      
session_register('user');
      echo 
'<p align="center">Login erfolgreich! :-)<br><br><a href="site/index.php">Weiter</a></p>';
    }
  }
  
?>
index.php:

PHP-Code:
<?php
  session_start
();
  if(!
session_is_registered('user') || $_SESSION['user'] == "") {
    
header("location:index.php");
    die;
  }
  
var_dump($_POST);
  
?>
Mit Zitat antworten
  #9 (permalink)  
Alt 12-12-2006, 01:23
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also meine Glaskugel findet jetzt dass es wohl an register globals liegen könnte Schreibe mal statt
PHP-Code:
$password md5($password); 
einfach
PHP-Code:
$password md5($_POST['password']); 
Wobei sich mir aber immer noch die Frage stellt warum dein POST Array kein Feld password enthalten hat. Vllt hast du den dump an der falschen Stelle gemacht

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #10 (permalink)  
Alt 12-12-2006, 01:34
DragonGun
 Newbie
Links : Onlinestatus : DragonGun ist offline
Registriert seit: Dec 2006
Beiträge: 7
DragonGun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kann gut sein dass ichs an der falschen Stelle eingefügt habe, aber der Tip mit den register globals hat voll gepasst.

Vielen vielen Dank!! Ich geb Dir n Bier aus
Mit Zitat antworten
  #11 (permalink)  
Alt 12-12-2006, 01:37
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von DragonGun
Vielen vielen Dank!! Ich geb Dir n Bier aus
OffTopic:
Soetwas könnte man doch mal einführen... nach jeder erfolgreichen Hilfestellung ein Bier ausgegeben bekommen.
Entschuldigt den OT.

Mit Zitat antworten
  #12 (permalink)  
Alt 12-12-2006, 02:17
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Vielen vielen Dank!! Ich geb Dir n Bier aus
Bitte gerngeschehen, aber freu dich nicht zu früh Du hast noch andere Fehler/Don't dos drin
PHP-Code:
<form action="<?php $PHP_SELF ?>" method="post">
//besser
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<?php
if(!session_is_registered('user') || $_SESSION['user'] == "") {
//besser
if(isset($_SESSION['user']) && !empty($_SESSION['user'])){
//session_is_registered() ist veraltet !
header("location:index.php");
//besser
header("Location: http://deineDomain.de/index.php");
//header + Location sollten immer mit absoluten Pfaden gehandhabt werden
Gruss

tobi

p.s. schick mir das Bier doch als Attachment
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #13 (permalink)  
Alt 12-12-2006, 12:52
DragonGun
 Newbie
Links : Onlinestatus : DragonGun ist offline
Registriert seit: Dec 2006
Beiträge: 7
DragonGun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, habs mir notiert und werds ändern sobald ich dazu komme.
Bin jetzt erst mal froh dass es funktioniert mit dem einloggen

Hier noch dein Bier, frisch gezapft

Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:40 Uhr.