+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Mit einem PHP-Skript auf Joomla! Datenbank zugreifen

  1. #1
    Neu an Board
    Registriert seit
    21.12.2009
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Mit einem PHP-Skript auf Joomla! Datenbank zugreifen

    Hallo,
    ich habe eine klein manuelle PHP-Erweiterung auf meinem Server. Diese würde ich gerne schützen. Um die Anwendung einfach zu halten würde ich gerne die gleichen Benutzer und Passwörter wie in Joomla! benutzen.
    Also wie kann ich mit PHP und MySQL überprüfen, ob ein Benutzer registriert ist, und wenn ja, ob das Passwort stimmt.
    Danke im voraus
    SpaceEmotion

  2. #2
    Kommt häufiger vorbei
    Registriert seit
    07.09.2009
    Beiträge
    466
    Bedankte sich
    4
    Erhielt 113 Danksagungen
    in 110 Beiträgen

    Standard

    Zitat Zitat von spaceemotion Beitrag anzeigen
    Hallo,
    ich habe eine klein manuelle PHP-Erweiterung auf meinem Server. Diese würde ich gerne schützen. Um die Anwendung einfach zu halten würde ich gerne die gleichen Benutzer und Passwörter wie in Joomla! benutzen.
    Also wie kann ich mit PHP und MySQL überprüfen, ob ein Benutzer registriert ist, und wenn ja, ob das Passwort stimmt.
    Danke im voraus
    SpaceEmotion
    PHP-Code:
    <?php 
    $dbuser
    ="";
    $dbpw="";
    $joomladb="";
    $conn=mysql_connect("localhost",$dbuser,$dbpw);
    $db=mysql_select_db($joomladb,$conn);

    /* Jetz hast deine formulareingaben von der anmeldung mit post geholt und natürlich überprüft ob diese werte valide sind bzw. sql injection ausgeschlossen ist */

    $pw=$_POST['pw'];// Überprüft!! wegen sql injection
    $login=$_POST['login'];
    $pw=md5($pw); // in joomla wird das password als md5 gespeichert

    $query="SELECT password FROM jos_users WHERE login='$login' ";
    $erg=mysql_query($query);
    $row=mysql_fetch_objects($erg);
    if(
    $row){
    if(
    $row->password == $pw)
    //user angemeldet
    else //falsches pw
    }
    else{ 
     
    //Benutzer nicht gefunden
    }
    Meine Antwort hat dir Stunden an Zeit gespart?
    Nimm dir die 2 Sekunden und drück auf den Dankebutton

  3. #3
    Neu an Board
    Registriert seit
    21.12.2009
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo,
    Zitat Zitat von Netpro Beitrag anzeigen
    PHP-Code:
    $dbpw=""
    Ist das nicht irgendwie gefährlich, wenn ich mein db Passwort angebe, oder bleibt das leer?
    Zitat Zitat von Netpro Beitrag anzeigen
    PHP-Code:
    $joomladb=""
    Wenn das nicht leer bleibt, was kommt den da rein?
    Aber trotzdem schon einmal Danke

  4. #4
    Kommt häufiger vorbei
    Registriert seit
    07.09.2009
    Beiträge
    466
    Bedankte sich
    4
    Erhielt 113 Danksagungen
    in 110 Beiträgen

    Standard

    Zitat Zitat von spaceemotion Beitrag anzeigen
    Hallo,
    Ist das nicht irgendwie gefährlich, wenn ich mein db Passwort angebe, oder bleibt das leer?
    Wenn das nicht leer bleibt, was kommt den da rein?
    Aber trotzdem schon einmal Danke
    Gefährlich? i-wo musst du dich ja einloggen^^ da bleibt gar nix leer, das was leer ist musts du ja ausfüllen weil es deine einstellungen sind.

    das passwort steht. z.b. in der configuration.php von joomla auch einfach im klartext drin.
    musst halt entsprechende dateirechte setzten.

    unter "joomladb" kommt der name der datenbank, die du bei der joomla installation angegeben hast
    Meine Antwort hat dir Stunden an Zeit gespart?
    Nimm dir die 2 Sekunden und drück auf den Dankebutton

  5. Erhielt Danksagungen von:


  6. #5
    Wohnt hier Avatar von Arni
    Registriert seit
    10.01.2005
    Beiträge
    4.679
    Bedankte sich
    186
    Erhielt 1.157 Danksagungen
    in 1.094 Beiträgen

    Standard

    Warum nutzt du nicht das Joomla Framework, um auf die Datenbank zu verbinden? z.B. so:
    PHP-Code:
     <?php
    defined
    ('_JEXEC') or die('Restricted access');
    global 
    $mainframe,$mysql_db,$s,$l;
    $db =& JFactory::getDBO();

    ....
    ?>
    Einfach, schlank und sicher

  7. #6
    Kommt häufiger vorbei
    Registriert seit
    07.09.2009
    Beiträge
    466
    Bedankte sich
    4
    Erhielt 113 Danksagungen
    in 110 Beiträgen

    Standard

    Zitat Zitat von Arni Beitrag anzeigen
    Warum nutzt du nicht das Joomla Framework, um auf die Datenbank zu verbinden? z.B. so:
    PHP-Code:
     <?php
    defined
    ('_JEXEC') or die('Restricted access');
    global 
    $mainframe,$mysql_db,$s,$l;
    $db =& JFactory::getDBO();

    ....
    ?>
    weil er meinte das is nen externes php skript dsa hat nix mit joomla zutun er mag nur die joomla user verwenden
    Meine Antwort hat dir Stunden an Zeit gespart?
    Nimm dir die 2 Sekunden und drück auf den Dankebutton

  8. #7
    Wohnt hier Avatar von Arni
    Registriert seit
    10.01.2005
    Beiträge
    4.679
    Bedankte sich
    186
    Erhielt 1.157 Danksagungen
    in 1.094 Beiträgen

    Standard

    Zitat Zitat von spaceemotion Beitrag anzeigen
    Also wie kann ich mit PHP und MySQL überprüfen, ob ein Benutzer registriert ist, und wenn ja, ob das Passwort stimmt.
    Aber will er denn nicht die Joomla Benutzerdaten überprüfen?

  9. #8
    Kommt häufiger vorbei
    Registriert seit
    07.09.2009
    Beiträge
    466
    Bedankte sich
    4
    Erhielt 113 Danksagungen
    in 110 Beiträgen

    Standard

    Zitat Zitat von spaceemotion Beitrag anzeigen
    Hallo,
    ich habe eine klein manuelle PHP-Erweiterung auf meinem Server. Diese würde ich gerne schützen. Um die Anwendung einfach zu halten
    SpaceEmotion
    Naja vllt hast du auch recht aber das hört sich so an musst uns der TE mal was dazu sagen ^^
    ich habs so verstanden er hat eigene php software die nix mit seiner joomla seite zu tun hat aber er will die user von joomla zum einloggen in sein system nehmen.
    Meine Antwort hat dir Stunden an Zeit gespart?
    Nimm dir die 2 Sekunden und drück auf den Dankebutton

  10. #9
    Neu an Board
    Registriert seit
    21.12.2009
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Zitat Zitat von Arni Beitrag anzeigen
    Warum nutzt du nicht das Joomla Framework, um auf die Datenbank zu verbinden? z.B. so:
    PHP-Code:
     <?php
    defined
    ('_JEXEC') or die('Restricted access');
    global 
    $mainframe,$mysql_db,$s,$l;
    $db =& JFactory::getDBO();

    ....
    ?>
    Einfach, schlank und sicher
    Verstehe ich nicht...


    PHP-Code:
    <?php
    //Variablen
        
    $Username $_POST['Username'];
        
    $pw=$_POST['pw'];// Überprüft!! wegen sql injection


        //User vorhanden?
        
    $dbuser="";
        
    $dbpw="";
        
    $joomladb="";
        
    $conn=mysql_connect("",$dbuser,$dbpw);
        
    $db=mysql_select_db($joomladb,$conn);

        
    /* Jetz hast deine formulareingaben von der anmeldung mit post geholt und natürlich überprüft ob diese werte valide sind bzw. sql injection ausgeschlossen ist */



        
    $pw=md5($pw); // in joomla wird das password als md5 gespeichert

        
    $query="SELECT password FROM jos_users WHERE username ='$Username' ";
        
    $erg=mysql_query($query);
        
    $row=mysql_fetch_objects($erg);
        if(
    $row){
            if(
    $row->password == $pw)
            {
                
    //user angemeldet
                
    echo "1<br>";
        
            }
            else{ 
                 
    //Benutzer nicht gefunden
                
    echo "Nein";
            }
        }


    ?>
    Dabei bekam ich den Fehler
    Code:
    Fatal error: Call to undefined function mysql_fetch_objects() in /mnt/web2/32/21/52172621/htdocs/SpaceEmotion_Member/ProjectView/upload.php on line 22
    Problem gelöst
    Geändert von spaceemotion (21.12.2009 um 17:37 Uhr) Grund: Fehler Weg

  11. #10
    Neu an Board
    Registriert seit
    21.12.2009
    Beiträge
    7
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo,
    eigentlich funktioniert fast alles. Aber nur ich kann mich anmelden. Mein Freund, auch Superadmin, bekommt die Meldung, dass das Passwort falsch ist, obwohl er sicher das richtige eingab. Auch ich musste mein Passwort erst mit PHPMyAdmin auf das ändern was bei dem md5 raus kam. Danach konnte ich mich im Joomla! noch anmelden. Jetzt vermute ich, dass das Joomla! Passwort doch nicht als md5 gespeichert ist. Kann das sein?

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein