IP SPERRE in ein Modul?

Begonnen von Matze, 22 August 2002, 11:51:24

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Matze

Hi Leute,

kann mir wer helfen, wie ich ein Modul eben dazu bringe, dass jede ip ip nur einmal drauf zugreifen kann? Bsp.weise am Hot or Not damit man nur einmal pro ip voten kann oder eben alle 3 stunden oder so.

Was muss ich fürn Code dazu einbauen bzw. wie sieht die Abfrage aus?? Hat einer ne Ahnung? Wär ganz toll wenn mir einer hilft. :thumbup:


FrankySZ

Hi Matze,
die Abfrage dazu muesste ungefaehr dem entsprechen was du im Modul Surveys findest ...
greets Franky

Matze


Matze

Ich hab die Funktion gefunden. Baer wie kann ich sie abändern dass sie fürs Hot or Not Modul funzt? Kann mir einer bitte helfen? Die Funktion von Surveys sieht so aus:
function pollCollector($pollID, $voteID, $forwarder) {
    global $HTTP_COOKIE_VARS, $prefix, $dbi;
    /* Fix for lamers that like to cheat on polls */
    $ip = getenv("REMOTE_ADDR");
    $past = time()-1800;
    sql_query("DELETE FROM ".$prefix."_poll_check WHERE time < $past", $dbi);
    $result = sql_query("SELECT ip FROM ".$prefix."_poll_check WHERE (ip='$ip') AND (pollID='$pollID')", $dbi);
    list($ips) = sql_fetch_row($result, $dbi);
    $ctime = time();
    if ($ip == $ips) {
   $voteValid = 0;
    } else {
   sql_query("INSERT INTO ".$prefix."_poll_check (ip, time, pollID) VALUES ('$ip', '$ctime', '$pollID')", $dbi);
   $voteValid = "1";
    }
    /* Fix end */
    /* update database if the vote is valid */
    if($voteValid>0) {
        sql_query("UPDATE ".$prefix."_poll_data SET optionCount=optionCount+1 WHERE (pollID=$pollID) AND (voteID=$voteID)", $dbi);
        if ($voteID != "") {
       sql_query("UPDATE ".$prefix."_poll_desc SET voters=voters+1 WHERE pollID=$pollID", $dbi);
        }
   Header("Location: $forwarder");
    } else {
        Header("Location: $forwarder");
    }
    /* a lot of browsers can't handle it if there's an empty page */
    echo "<html><head></head><body></body></html>";
}

modelportal

und wie ist die antwort? kann man es nicht einfacher mit einem cookie realisieren?
würde mich freuen,wenn hier jemand posten wrde.möchte auf meiner website ein hot_or_not-wettbewerb machen.aber ohne cookie ist das mist und unklar.
danke euch

Matze

bin auch noch sehr interessiert

modelportal

vielleicht kann man die kleine sperre vom your_account nutzen,die auf cookiebasis funzt.aber ich denke mal,das es nicht klappen wird,da man das eigene bild ja nicht unterscheiden kann als user.

jubilee

Hallo modelportal !
und watt machst Du, wenn der User den Cookie löscht und
immer wieder abstimmt ?
Das ist hat das Problem bei Cookies. Die liegen beim User auf der Platte
und der kann die so oft löschen wie er will.
MfG
jubilee

Matze

aber das weiss ottonormaluser doch sowieso nicht. :-)

jubilee

@Matze:
Da hast Du natürlich auch wieder Recht.
 :D
MfG
jubilee

modelportal

ja und wie machen wir das nun? :quest
freue mich aber schon mal darüber,das das thema wieder aufgegriffen wird.und das mit dem cookie löschen macht vielleicht einer von 20.ehrlich gesagt wäre es mir lästig,jedesmal wieder meine zugangsdaten suchen zu müssen.ich lösche keine cookies. ;)

Vampi

versucht es doch mit einer tabelle in der datenbank, die jede ip speichert so umgeht ihr jedenfalls, daß die gleiche ip noch mal abstimmt, oder geht die abstimmung nur für user frei und speichert den usernamen in einer extratabelle

und baut, dann in die Umfrage eine Kontrollfunktion ein, die dann immer die Tabelle danach durchsucht

ich hoffe ich hab mich einigermaßen verständlich ausgedrückt

Matze

aber wie mach ich dass...  :cry

Matze

hallo? immernoch keiner eine idee?

modelportal

Ja leider.Ich warte auch noch darauf,das jemand helfen kann.