Mollom

Gepubliceerd door Kevin Van Eenoo op vrijdag 13 april 2012

Mollom is een zeer degelijke tool voor wie spammers op een veilige afstand wil houden. Indien je zelf een website maakt, kan je Mollom o.a. als captcha afbeelding toevoegen aan je website. Op mollom.crsolutions.be kan je het nodige mollom.php bestand downloaden, maar daarnaast moet je ook nog uitzoeken hoe je Mollom kunt gebruiken binnen je website.

Zelf heb ik er even op gezocht om de captcha afbeelding aan de praat te krijgen. De werkende code wou ik jullie niet onthouden. Het zou kunnen dat onderstaande code niet 100 % correct is, maar het doet zijn werk. Hopelijk kan het jou ook op weg helpen.

  1. <?php
  2. // DIT FORMULIER WERD SAMENGESTELD MET CODE VANOP http://mollom.crsolutions.be/docs
  3.  
  4. // mollom.php IS EEN NOODZAKELIJK BESTAND TE DOWNLOADEN VIA http://mollom.crsolutions.be/
  5. // HET BESTAND MOET IN DEZELFDE MAP STAAN ALS DIT FORMULIER
  6. require_once 'mollom.php';
  7. // OF JE MOET ERNAAR VERWIJZEN: locatie/mollom.php
  8.  
  9. // VUL HIER JOUW KEYS IN DIE JE HAALT VAN MOLLOM.COM
  10. Mollom::setPublicKey('JOUW PUBLIEKE KEY VAN MOLLOM.COM');
  11. Mollom::setPrivateKey('JOUW PRIVATE KEY VAN MOLLOM.COM');
  12.  
  13. // SERVERS WAAR DE CAPTCHA AFBEELDINGEN GEHAALD WORDEN
  14. $servers = array('http://xmlrpc1.mollom.com', 'http://xmlrpc2.mollom.com',
  15. 'http://xmlrpc3.mollom.com');
  16. Mollom::setServerList($servers);
  17.  
  18. // INDIEN HET FORMULIER WERD DOORGEZONDEN
  19. if(isset($_POST['submit'])) {
  20.  
  21. // SESSIE DIE GEGENEREERD WERD DOOR MOLLOM
  22. $mollomSessionId = $_POST['sessie'];
  23.  
  24. // INGEVULDE CAPTCHA DOOR DE BEZOEKER
  25. $answerFromVisitor = $_POST['captcha'];
  26.  
  27. try
  28. {
  29. if(Mollom::checkCaptcha($mollomSessionId, $answerFromVisitor)) {
  30. // DIT WORDT WEERGEGEVEN INDIEN DE CAPTCHA GOED WERD INGEVULD
  31. echo "Gelukt!";
  32. } else {
  33. // DIT WORDT WEERGEGEVEN INDIEN DE CAPTCHA NIET GOED WERD INGEVULD
  34. echo "Foute captcha!";
  35. }
  36. }
  37. catch (Exception $e)
  38. {
  39. // DIT WORDT WEERGEGEVEN INDIEN ER IETS FOUT LIEP
  40. echo "Er liep iets fout.";
  41. }
  42.  
  43. // HET FORMULIER TONEN INDIEN HET NOG NIET WERD DOORGEZONDEN
  44. } else {
  45.  
  46. // VOORBEELDFORMULIER
  47. echo '<form action="formulier.php" method="post">';
  48.  
  49. // CAPTCHA OPHALEN
  50. $captcha = Mollom::getImageCaptcha();
  51.  
  52. // CAPTCHA AFBEELDING WEERGEVEN
  53. echo $captcha['html'];
  54.  
  55. echo '<p><input class="input" type="text" name="captcha" /></p>';
  56.  
  57. // EEN VERBORGEN VELD OM DE SESSIE TE KUNNEN DOORSTUREN
  58. echo '<input class="input" type="hidden" name="sessie"
  59. value="'.$captcha['session_id'].'" />';
  60.  
  61. echo '<p><input type="submit" name="submit" value="submit" /></p>';
  62. echo '</form>';
  63.  
  64. }
  65. ?>

Reactie toevoegen

Deze vraag is om te controleren dat u een mens bent, om geautomatiseerde invoer (spam) te voorkomen.