[suche] reload sperre bzw. ip sperre ohne mysql


  • j0n30
  • 2294 Aufrufe 9 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [suche] reload sperre bzw. ip sperre ohne mysql

    hi!

    hab zwei kleine php scripte am start, einmal ein formmailer und einmal ein poll, nun ist das dumme, das man mit reloaden aus dem formmailer ein emailbomber machen kann und mit reloaden den poll total verfälscht, nun wäre wohl eine ip-sperre angebracht oder geht es, dass man den reload einer seite anders unterbindet?

    gruß und thnx for replies .J.one
  • Cookie setzen, oder IP & die Zeit speichern und wenn die geloggte IP älter als 10 oder von mir aus 24h Stunden ist --> Löschen

    EDIT:
    Wie soll man den überhaupt aus nem Formmailer ausgehend nen E-MAilbomber machen können? Das verstehe ich nicht:confused:
  • ja so zusagn ein emailbomber an meine addy, da bei jedem reload ne email abgeschickt wird... und das ist nicht gut ;)

    hast du dazu nen quellcodeschnipsel... cookie mit php? das kann ich nit :(

    jone
  • Vergleich doch einfach die aktuelle IP ($REMOTE_ADDR) mit der gespeicherten (Die speicherst du jedesmal nach dem abschicken einer mail in ner textdatei)

    if($REMOTE_ADDR == $ip_aus_der_txt_datei){
    echo "Sie haben schon abgestimmt";
    exit;
    }
    // Wenn sie nicht übereinstimmen gehts dann weiter zum Poll.
    ...................

    So müssten theoretisch 2 Flooder auf einmal auf deiner Seite sein und immer mit unterschiedlichen IPs abwechselnd flooden (Was recht zeitaufwendig ist ;) )

    Mfg,n3o
    [SIZE="4"]
    Got [COLOR="DeepSkyBlue"]/[/color][COLOR="Blue"]/[/color]/M Power?
    [/SIZE]
  • @n3o: ganz so leicht ist das leider nicht!

    Was machst du denn, wenn 2 Leute kurz hinter einander Mailen oder Voten wollen?
    Da muss die Struktur der Textdatei schon etwas ausgereifter sein!

    @Future-Vision: Cookies sind zwar ganz nett, leider aber übelst unperformant!
    Das merkt man bei solchen Kleinigkeiten noch nicht, aber bei CMS usw. sind Cookies nicht so prall :(

    Und das mit dem Mailflooder funktioniert so:
    Du hast eine HTML Datei mit Formularen drinne, die Inhalte werden an ein PHP Skript geschickt in dem sie formatiert werden, und dann mit der mail ( ) Funktion an eine Adresse verschickt werden.
    Wenn man nach dem laden des PHP Skriptes auf Reload klickt, werden die Variablen per Post nochmal geholt und die mail ( ) Funktion wird erneut ausgeführt :D
    So entsteht ein "simpler möchtegern" Mailflooder.
    Richtige Flooder arbeiten eher mit einer Schleife ;)

    @jone:
    Die Cookie-Version: php.net/manual/de/function.setcookie.php
    Was noch ein Stück eleganter wäre, wäre folgendes:
    Du benutzt einfach Sessions .. So kannst du gewährleisten, dass jeder User Pro Browser-Lebenszeit nur eine Mail verschickt, oder einmal votet.
    Kaum ein Flooder würde einen Browser 100 mal restarten usw. um das gewünschte Ergebnis zu bekommen! :( ;)

    Die Session-Version: php.net/manual/de/ref.session.php
  • Man kann auch mehrer Textdateien mit dem IPs drinne erstellen und dann eine nach der anderen durchgehen und abgleichen.
    Mit MySQL ist es halt einfach um einiges leicher ;)
    [SIZE="4"]
    Got [COLOR="DeepSkyBlue"]/[/color][COLOR="Blue"]/[/color]/M Power?
    [/SIZE]
  • Ok jetzt kommt mein bester Tip :D
    leg dir ne Datei id.inc an oder so, und schreibst da 1 rein.
    Wenn einer ne Message schreibt oder so, holst du dir die id aus der Textdatei, wenn dann das if($sent)... kommt ...schaust du in die Textdatei und wenn $id und die Zahl in der Textdatei gleich sind dann verschickst du die MAil und danach aber die Zahl in der Textdatei nochmal inkrementieren, wenn er jetzt auf Reload klcikt, ist die ZAhl inder Textdatei um 1 größer als $id und die Mail wird nicht mehr verschickt...und das ist die billigste Variante aber wie ich finde auch ne sehr gute :D
  • Ok nochmal jetzt als Code dann rallst te das :D

    also das Formular:

    Name:
    Mail:
    hp:
    Message:
    <hidden $sent=1>
    < hidden $id , eine Zahl die man davor aus der id.txt ausliest)


    SENDE-SKRIPT:
    if($sent & ....)
    if( $id == nochmal die Zahl aus der id.txt auslesen)
    {
    send_mail();
    $id++;
    $id in id.txt überschreiben, dass also die Zahl in der id.txt sich um eins erhöht hat
    }


    Wenn man das Script nun reloaded dann ist die $id nun um eins keliner als die Zahl in der id.txt :D
  • @futurvision hört sich logisch an... muss das mal am WE überdenken und reincodn... thnx auf jedenfall

    @transmitter danke für die tipps und links, werd ebenfalls am WE das ganze mir zu gemüte führen,... hab zur zeit wenig zeit, da ich von 6.15 bis 16.15 arbeit :(

    thnx to U 3 codes :D ~jOne~