fiLLLipnet Skrevet 20. august 2004 Skrevet 20. august 2004 Hei Jeg driver å lager meg en gjestebok men jeg vil ha anti-flood system på den slik at ingen tullinger kommer å ødlegger den helt..... Men spørmålet mitt er hvordan????
Lokaltog Skrevet 20. august 2004 Skrevet 20. august 2004 Du kan jo sjekke om en bruker har skrevet seg inn ved å sette en cookie når brukeren har signert gjesteboka, og ikke tillate brukeren å skrive inn hvis cookien er satt.
rogbiff Skrevet 20. august 2004 Skrevet 20. august 2004 (endret) Det er en lett jobb Det beste til dette er cookies, som lages vis den ikke er der, og lagrer et timestamp i den. Hvis cookien er til stede og siste tida (timestampen) var under f.eks 30 sekunder, gir du beskjed at Dette går ikke EDIT: Det med timestampen er bare nødvendig ved shoutbox.... det holder å sjekke om den er der med guestbook, som lokaltog sier. Endret 20. august 2004 av rogbiff
fiLLLipnet Skrevet 20. august 2004 Forfatter Skrevet 20. august 2004 (endret) Tusen takk for raske svar... Men kan dere "kode", lage den biten med kode til meg? Resten fikses selv... EDIT: Blir det noe sånt setcookie("TestCookie", time()+3600); i så fall... Går det ann å skrive hvor lang tid som er igjen? Endret 20. august 2004 av Filip_KickAss
rogbiff Skrevet 20. august 2004 Skrevet 20. august 2004 Tusen takk for raske svar...Men kan dere "kode", lage den biten med kode til meg? Resten fikses selv... EDIT: Blir det noe sånt setcookie("TestCookie", time()+3600); i så fall... Går det ann å skrive hvor lang tid som er igjen? Den setcookie du har skrevet opp, har feil artibutter: setcookie("test", content kan vere tom, eks bare "", time() + 60*60*24*365); Denne cookien varer i et år, mens din varer i bare 1 time
Lokaltog Skrevet 20. august 2004 Skrevet 20. august 2004 Bruker denne på lokaltog.net: if(!$_COOKIE['signert']) setcookie('signert', 1, time()+10000, '/'); Og kjører en sjekk som dette: if(!$_COOKIE['signert']) { // SIGNER GJESTEBOK HER }
fiLLLipnet Skrevet 21. august 2004 Forfatter Skrevet 21. august 2004 Warning: Cannot add header information - headers already sent by (output started at /mnt/home4/b/bo/boxwolf/public_html/index.php:22) in /mnt/home4/b/bo/boxwolf/public_html/sider/gjestebok.php on line 25 HMM Får bare feilmelding.... setcookie('postet', time()+3600, '/'); What is the feil?
Loomy Skrevet 21. august 2004 Skrevet 21. august 2004 Headerne er allerede sent Dvs. at slike kake-ting må sendes før alt annet, så de må stå absolutt øverst i dokumentet..
Torbjørn Skrevet 23. august 2004 Skrevet 23. august 2004 det trengs en sticky om det her problemet *skal se hvor mye tid jeg har senere idag*
fiLLLipnet Skrevet 24. august 2004 Forfatter Skrevet 24. august 2004 Jeg vil ha det slik at når noen poster, legges det en dato/klokkeslett i mysql databasen og prøver personen å legge til en ny post innen en time, sier den stopp... Kan det ordnes???? Vil ikke ha cookies for da må jeg endre alt jeg har gjort
Tha_Zaynt Skrevet 25. august 2004 Skrevet 25. august 2004 Jeg bruker koden nedenfor. Den skriver Ip'en til brukeren i en logfil. For at dette skal funke må du lage en mappe som heter data og chmod'e den 0777. function FloodDetector($IPLogFile) { $done = 0; $line = 0; $file = file($IPLogFile); $ip = getenv("REMOTE_ADDR"); $hour = date("HdmY"); $date = $a[6]; while($file[$line]) { $a = explode("|", $file[$line]); if (($a[0] == $ip) && ($a[1] == $hour)) { $done = 1; } $line++; } if ($done == 1) return true; else { $a = implode($file, ""); $fp = fopen($IPLogFile, "w"); fwrite($fp, $ip . "|" . $hour . "|\n" . $a); fclose($fp); return false; } } Legg inn denne som sjekk før innlegget lagres i databasen: //Sjekk at brukeren ikke flooder if (FloodDetector($IPLogFile)) { echo "<p>ERROR! Flooding-sperre: Du har allerede skrevet et innlegg i løpe
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå