Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 21

Thema: User bestätigt mehr Mails als verschickt wurden!?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer
    Registriert seit
    02.07.2010
    Beiträge
    52
    Zitat Zitat von Lokutos Beitrag anzeigen
    MFG Lokutos
    Ja, nur wie macht er das.

    Für jedes Problemchen/Fehler/Bug/etc... muss es ja eine Lösung geben.

  2. #2
    Erfahrener Benutzer Avatar von hankfromhelvete
    Registriert seit
    26.04.2007
    Beiträge
    633
    Zitat Zitat von Siggi84 Beitrag anzeigen
    Würdet ihr an meiner Stelle den User sperren?
    Würde ich nicht machen, solange du nicht weißt ob es ein Fehler oder Absicht des Users ist.

  3. #3
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Im Prinzip gibt es ja eine gute Prüfung bei Mailbestätigung, in der ich so erstmal keine groben Fehler erkennen kann. Und wenn die Einträge nicht doppelt vorhanden sind, bleibt noch das mit der race condition, evtl. benutzt er ein Klickprogramm, welches "gleichzeitiges" Aufrufen natürlich besser hinbekommt als ein Mensch.
    Wobei er es dann schon absichtlich darauf anlegen müsste, die meisten Fakeskripte geben sich ja mit einer 1x Bestätigung schon zufrieden

    Sehe 2 Möglichkeiten:
    - User sperren, da selbst wenn das keine Absicht ist, er sich dessen dennoch bewusst ist (mehr Vergütung, +1 Punkte mehr in Rallye) und das nicht meldet beim Admin, schon ein Grund (ausserdem sind die Ausreden doch immer spannend die dann kommen )
    - pcheck.php noch besser absichern:

    Optimal wären Tabellen-/Zeilensperren, aber etwas kompliziert einzubauen, evtl reicht es auch, die Zeile:
    PHP-Code:
    db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=1 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1"); 
    die normalerweise erst nach den ganzen Rallyes Bilanzen etc kommt, direkt nach:
    PHP-Code:
    if (($mail['start']+$mail['aufendhalt']-1) <= time() AND $mail['status'] == 0) { 
    zu verschieben und noch zu erweitern:
    PHP-Code:
    db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=1 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." AND status=0 LIMIT 1"); 
    danach kann man dann mit:
    PHP-Code:
    if(mysql_affected_rows()==1){
    //rallyes etc.
    }else{
    $headmsg 'Doppelt bestätigt! Paidmail ungültig!';
          
    db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=2 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1");

    Das doch schon ganz gut verhindern.

    Sieht dann etwa so aus der Abschnitt:

    PHP-Code:
    if (($mail['start']+$mail['aufendhalt']-1) <= time() AND $mail['status'] == 0) {
      
    db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=1 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." AND status=0 LIMIT 1");
      if(
    mysql_affected_rows()==1){
         
    //rallyes etc. bis:
        
    $headmsg $mail['verdienst'].' '.$waehrung.' gutgeschrieben!';
      }else{
      
    $headmsg 'Doppelt bestätigt! Paidmail ungültig!';
          
    db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=2 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1");
      }
    } else {
          
    $headmsg 'Wartezeit umgangen! Paidmail ungültig!';
          
    db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=2 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1");
        } 
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  4. #4
    Benutzer
    Registriert seit
    02.07.2010
    Beiträge
    52
    So, jetzt kann ich euch mal wieder updaten

    Hatte leider bissel streß, musste mit Hundi in die Tierklinik.

    Seitdem ich das "Limit 1" herausgenommen habe, ist es nicht wieder passiert.

    Läuft jetzt seit 3 Tagen ohne Abweichung!

    Nur wie kann das jetzt gehen, wenn doch keine doppelten Einträge drin waren, oder gerade nur Zufall?

    Halte euch auf dem laufenden!

    Danke nochmal an ALLE!!!

  5. #5
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235
    Verstehe ich jetzt gerade nicht

    Was soll es denn mit den Limit zu tun haben?
    Vermutlich hast du noch was anderes verändert was ausschlaggebend war oder doch nur zufall (was ich nicht glaube)

  6. #6
    Benutzer
    Registriert seit
    02.07.2010
    Beiträge
    52
    Zitat Zitat von Hardy Beitrag anzeigen
    Verstehe ich jetzt gerade nicht

    Was soll es denn mit den Limit zu tun haben?
    Vermutlich hast du noch was anderes verändert was ausschlaggebend war oder doch nur zufall (was ich nicht glaube)
    Nein was anderes habe ich nicht gemacht!

    Nur aus...

    PHP-Code:
                 db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=1 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1"); 
    ... das

    PHP-Code:
                 db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=1 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid'].""); 
    So wie es jpwfour Hier beschrieben hat!

  7. #7
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Wobei, hab mir grad mal die Tabelle vms_paidmails_empfaenger angeschaut, an sich hat die nen Unique Index auf uid, tan, insofern dürfte das Limit 1 irrelevant sein (da keine doppelten Einträge aus dieser Kombination auftreten können).

    Evtl. liest der User ja auch jetzt hier mit und unterlässt es daher
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Mails gehen an eine Adresse, die es nicht mehr gibt
    Von Sam2004 im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 30.10.2011, 19:31
  2. Mehr Mails bestätigt als gesendet
    Von teddybyte im Forum Support zum VMSone
    Antworten: 1
    Letzter Beitrag: 04.12.2009, 23:42
  3. Antworten: 5
    Letzter Beitrag: 12.07.2009, 00:20
  4. Antworten: 1
    Letzter Beitrag: 31.08.2007, 16:53
  5. User bekommen mehr Mails als eingestellt
    Von Tulpe81 im Forum Support zu Addons & Erweiterungen
    Antworten: 5
    Letzter Beitrag: 22.08.2007, 05:52

Berechtigungen

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