fiLLLipnet Skrevet 20. august 2004 Del 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???? Lenke til kommentar
Lokaltog Skrevet 20. august 2004 Del 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. Lenke til kommentar
rogbiff Skrevet 20. august 2004 Del 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 Lenke til kommentar
fiLLLipnet Skrevet 20. august 2004 Forfatter Del 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 Lenke til kommentar
rogbiff Skrevet 20. august 2004 Del 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 Lenke til kommentar
Lokaltog Skrevet 20. august 2004 Del 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 } Lenke til kommentar
fiLLLipnet Skrevet 21. august 2004 Forfatter Del 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? Lenke til kommentar
Loomy Skrevet 21. august 2004 Del 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.. Lenke til kommentar
Torbjørn Skrevet 23. august 2004 Del Skrevet 23. august 2004 det trengs en sticky om det her problemet *skal se hvor mye tid jeg har senere idag* Lenke til kommentar
fiLLLipnet Skrevet 24. august 2004 Forfatter Del 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 Lenke til kommentar
Tha_Zaynt Skrevet 25. august 2004 Del 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 Lenke til kommentar
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å