Olepetterno Skrevet 19. januar 2008 Skrevet 19. januar 2008 (endret) Jeg har et forum som blir spammet noe helt jævelig mye. Saken er det at jeg vil ha en captcha som du må taste inn når du kommer: domene/phpBB2/index.php Altså captchaen jeg bruker: http://www.helgeprat.com/getimage.php den må du altså taste inn når du kommer til index.php siden. Vil dette hjelpe? Denne delen skjekker om den er rett: //-------------------------------------------------------------------------- //--------- Sjekker først om CGI-variabel 'captcha' kommer fra skjemaet. //--------- I så fall har bruker trykket Submit-knappen //-------------------------------------------------------------------------- if (isset ( $_POST [ 'captcha' ] )) { if ($_POST [ 'captcha' ] != $_SESSION [ 'captcha' ]){ echo '<p>FEIL kode</p>'; exit; } else { unset ($_SESSION['captcha']); // This is important if you use stream mode! //---- CAPTCHA OK echo '<p">Korrekt kode</p>'; } } Kan dere helst komme med eksemplet som er ferdige? Som dette: http://www.helgeprat.com/diskusjon.php Endret 19. januar 2008 av Tagliano
Olepetterno Skrevet 20. januar 2008 Forfatter Skrevet 20. januar 2008 Jeg har et forum som blir spammet noe helt jævelig mye. Saken er det at jeg vil ha en captcha som du må taste inn når du kommer: domene/phpBB2/index.php Altså captchaen jeg bruker: http://www.helgeprat.com/getimage.php den må du altså taste inn når du kommer til index.php siden. Vil dette hjelpe? Denne delen skjekker om den er rett: //-------------------------------------------------------------------------- //--------- Sjekker først om CGI-variabel 'captcha' kommer fra skjemaet. //--------- I så fall har bruker trykket Submit-knappen //-------------------------------------------------------------------------- if (isset ( $_POST [ 'captcha' ] )) { if ($_POST [ 'captcha' ] != $_SESSION [ 'captcha' ]){ echo '<p>FEIL kode</p>'; exit; } else { unset ($_SESSION['captcha']); // This is important if you use stream mode! //---- CAPTCHA OK echo '<p">Korrekt kode</p>'; } } Kan dere helst komme med eksemplet som er ferdige? Som dette: http://www.helgeprat.com/diskusjon.php ...
Olepetterno Skrevet 21. januar 2008 Forfatter Skrevet 21. januar 2008 Jeg har et forum som blir spammet noe helt jævelig mye. Saken er det at jeg vil ha en captcha som du må taste inn når du kommer: domene/phpBB2/index.php Altså captchaen jeg bruker: http://www.helgeprat.com/getimage.php den må du altså taste inn når du kommer til index.php siden. Vil dette hjelpe? Denne delen skjekker om den er rett: //-------------------------------------------------------------------------- //--------- Sjekker først om CGI-variabel 'captcha' kommer fra skjemaet. //--------- I så fall har bruker trykket Submit-knappen //-------------------------------------------------------------------------- if (isset ( $_POST [ 'captcha' ] )) { if ($_POST [ 'captcha' ] != $_SESSION [ 'captcha' ]){ echo '<p>FEIL kode</p>'; exit; } else { unset ($_SESSION['captcha']); // This is important if you use stream mode! //---- CAPTCHA OK echo '<p">Korrekt kode</p>'; } } Kan dere helst komme med eksemplet som er ferdige? Som dette: http://www.helgeprat.com/diskusjon.php ... INGEN som har noen ideer?? Trenger dere mer info: SKRIK UT!!!
Zandar Skrevet 21. januar 2008 Skrevet 21. januar 2008 Er greit å google litt før du spør om noen kan gjøre ting for deg.. Tok meg 2 sek å finne dette.. How to add a custom CAPTCHA to phpBB2
Olepetterno Skrevet 21. januar 2008 Forfatter Skrevet 21. januar 2008 Er greit å google litt før du spør om noen kan gjøre ting for deg..Tok meg 2 sek å finne dette.. How to add a custom CAPTCHA to phpBB2 Hvis du hadde lest, hadde du funnet ut at det IKKE var det jeg var ute etter.
trrunde Skrevet 21. januar 2008 Skrevet 21. januar 2008 vanskelig å se hva du er ute etter, ser jo ut som du vil bruke captcha og da er jo zandar sin link grei vel?
Zandar Skrevet 21. januar 2008 Skrevet 21. januar 2008 Er greit å google litt før du spør om noen kan gjøre ting for deg..Tok meg 2 sek å finne dette.. How to add a custom CAPTCHA to phpBB2 Hvis du hadde lest, hadde du funnet ut at det IKKE var det jeg var ute etter. Poenget mitt var ikke å gi deg en eksakt løsning, men å få deg til å lese litt slik at du kan løse det selv... Hvorfor tvinge alle som leser forumet til å taste inn en kode? er det ikke nok å ha den ved registrering for å unngå at robot'er registrerer seg og spam'er? hvorfor ikke legge til CAPTCHA ved innlogging slik at bare de som skal poste må taste inn kode?
Olepetterno Skrevet 22. januar 2008 Forfatter Skrevet 22. januar 2008 Er greit å google litt før du spør om noen kan gjøre ting for deg..Tok meg 2 sek å finne dette.. How to add a custom CAPTCHA to phpBB2 Hvis du hadde lest, hadde du funnet ut at det IKKE var det jeg var ute etter. Poenget mitt var ikke å gi deg en eksakt løsning, men å få deg til å lese litt slik at du kan løse det selv... Hvorfor tvinge alle som leser forumet til å taste inn en kode? er det ikke nok å ha den ved registrering for å unngå at robot'er registrerer seg og spam'er? hvorfor ikke legge til CAPTCHA ved innlogging slik at bare de som skal poste må taste inn kode? det du linkt til førte meg jo ikke på rett spor en gang. Siden skal altså være slik: http://www.helgeprat.com/diskusjon.php Om du taster inn riktig kode blir du overført til en annen side f.eks "blblb.php" phpBB var bare et eksempel. Bare glem det.
Zandar Skrevet 22. januar 2008 Skrevet 22. januar 2008 det du linkt til førte meg jo ikke på rett spor en gang. Siden skal altså være slik: http://www.helgeprat.com/diskusjon.php Om du taster inn riktig kode blir du overført til en annen side f.eks "blblb.php" phpBB var bare et eksempel. Bare glem det. Bestem deg hva du mener da mann.. Du nevner jo spesifikt at du skal ha captcha til forumet ditt, og linken viser til et phpBB2 forum... Jeg har et forum som blir spammet noe helt jævelig mye. Saken er det at jeg vil ha en captcha som du må taste inn når du kommer: domene/phpBB2/index.php Altså captchaen jeg bruker: http://www.helgeprat.com/getimage.php den må du altså taste inn når du kommer til index.php siden. Hvis jeg har forstått deg rett nå, så ønsker du noe slik som dette Legg dette inn i diskusjon.php: if (isset($_POST['captcha'])) { if ($_POST['captcha'] != $_SESSION['captcha']) { echo '<p>FEIL kode</p>'; exit; } else { unset($_SESSION['captcha']);// This is important if you use stream mode! //---- CAPTCHA OK $_SESSION['captcha_ok'] = true; //Overføre bruker til en annen side header("Location: http://www.helgeprat.com/blblb.php"); } } Dette legger du inn på hver side du vil beskytte med captcha: //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { //Sende bruker tilbake til captcha-sjekk header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } Har ikke testet om det fungerer, men det skal være ganske korrekt.
Olepetterno Skrevet 22. januar 2008 Forfatter Skrevet 22. januar 2008 det du linkt til førte meg jo ikke på rett spor en gang. Siden skal altså være slik: http://www.helgeprat.com/diskusjon.php Om du taster inn riktig kode blir du overført til en annen side f.eks "blblb.php" phpBB var bare et eksempel. Bare glem det. Bestem deg hva du mener da mann.. Du nevner jo spesifikt at du skal ha captcha til forumet ditt, og linken viser til et phpBB2 forum... Jeg har et forum som blir spammet noe helt jævelig mye. Saken er det at jeg vil ha en captcha som du må taste inn når du kommer: domene/phpBB2/index.php Altså captchaen jeg bruker: http://www.helgeprat.com/getimage.php den må du altså taste inn når du kommer til index.php siden. Hvis jeg har forstått deg rett nå, så ønsker du noe slik som dette Legg dette inn i diskusjon.php: if (isset($_POST['captcha'])) { if ($_POST['captcha'] != $_SESSION['captcha']) { echo '<p>FEIL kode</p>'; exit; } else { unset($_SESSION['captcha']);// This is important if you use stream mode! //---- CAPTCHA OK $_SESSION['captcha_ok'] = true; //Overføre bruker til en annen side header("Location: http://www.helgeprat.com/blblb.php"); } } Dette legger du inn på hver side du vil beskytte med captcha: //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { //Sende bruker tilbake til captcha-sjekk header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } Har ikke testet om det fungerer, men det skal være ganske korrekt. Hmm, funket dårlig. Slik ser "diskusjon.php" ut: <?php //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { //Sende bruker tilbake til captcha-sjekk header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } if (isset($_POST['captcha'])) { if ($_POST['captcha'] != $_SESSION['captcha']) { echo '<p>FEIL kode</p>'; exit; } else { unset($_SESSION['captcha']);// This is important if you use stream mode! //---- CAPTCHA OK $_SESSION['captcha_ok'] = true; //Overføre bruker til en annen side header("Location: http://www.helgeprat.com/"); } } echo('<img border="1px" src="./getimage.php">'); echo('<input type="text" size="4" name="captcha">'); echo('<input type="submit" name="submit_skjema" value="Lever besvarelse">'); ?> Hva er gale? :S
Olepetterno Skrevet 22. januar 2008 Forfatter Skrevet 22. januar 2008 Skulle den siste delen din inn i koden i det hele tatt?
Zandar Skrevet 22. januar 2008 Skrevet 22. januar 2008 Skulle den siste delen din inn i koden i det hele tatt? Ja, men ikke i samme script som den andre. //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } Virker ikke som at du skjønner hva denne kodesnutten gjør.. Den sjekker om variabelen captcha_ok er satt i session og dersom den ikke er det så blir brukeren sendt til captcha-siden. Den stopper også resten av scriptet fra å bli utført. Denne koden bruker du på alle andre sider enn der du har captcha-siden. Dette er for å unngå at folk unngår captcha-sjekke ved å gå direkte til sidene du prøver å beskytte.
Olepetterno Skrevet 22. januar 2008 Forfatter Skrevet 22. januar 2008 (endret) Skulle den siste delen din inn i koden i det hele tatt? Ja, men ikke i samme script som den andre. //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } Virker ikke som at du skjønner hva denne kodesnutten gjør.. Den sjekker om variabelen captcha_ok er satt i session og dersom den ikke er det så blir brukeren sendt til captcha-siden. Den stopper også resten av scriptet fra å bli utført. Denne koden bruker du på alle andre sider enn der du har captcha-siden. Dette er for å unngå at folk unngår captcha-sjekke ved å gå direkte til sidene du prøver å beskytte. Om jeg fjerner: //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } fra diskusjon.php skjer det ingenting om jeg trykker "ok" knappen. Endret 22. januar 2008 av Tagliano
Zandar Skrevet 22. januar 2008 Skrevet 22. januar 2008 Om jeg fjerner: //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } fra diskusjon.php skjer det ingenting om jeg trykker "ok" knappen. Kan du poste hele diskusjon.php her?
Olepetterno Skrevet 23. januar 2008 Forfatter Skrevet 23. januar 2008 Om jeg fjerner: //Sjekke om bruker ikke er validitert med captcha if (!isset($_SESSION['captcha_ok'])) { header("Location: http://www.helgeprat.com/diskusjon.php"); exit(); } fra diskusjon.php skjer det ingenting om jeg trykker "ok" knappen. Kan du poste hele diskusjon.php her? Jeg har postet diskusjon.php lengre oppe i tråden.
Zandar Skrevet 23. januar 2008 Skrevet 23. januar 2008 Jeg har postet diskusjon.php lengre oppe i tråden. Er det alt som er i filen diskusjon.php? Den produserer ikke ei gyldig html-side om det er alt den inneholder. Hvor har du <html>, <head>, og <body> elementene? eller har du droppet disse? <input type="text" size="4" name="captcha"> <input type="submit" name="submit_skjema" value="Lever besvarelse"> Må ligge i et form-element for at det skal skje noe. Form-elementet må inneholde en action-attributt som sier hvilken side vi vil sende data til. Form-elementet må også inneholde attributten method="post" som sier hvilken metode vi skal benytte for å sende data. Da du henter data via $_POST['captcha'] må du bruke POST som metode i formen. F.eks <form name="skjema" action="diskusjon.php" method="post"> <input type="text" size="4" name="captcha"> <input type="submit" name="submit_skjema" value="Lever besvarelse"> </form> Alt dette er veldig elementært i både php og html...
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å