login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Spambot probleem

Offline X3ore - 07/02/2007 16:29 (laatste wijziging 07/02/2007 16:31)
Avatar van X3oreHTML interesse Hoi, ja wie heeft er tegenwoordig geen last van?
Om me te beveiligen maak ik gebruik van een rekensommentje, wat blijkbaar niet echt werkt. Als de som fout is voegt hij het bericht niet toe, maar de bot heeft zojuist een bericht kunnen posten dus ik snap niet waarom de bot erdoor kan.

http://chiroheikant.i-studios.be/TPL/guestbook.php
(Alle berichten van 'abc123' is een bot..)

functie:
  1. <?
  2. ## Functie voor de lame kutspam bots tegen te gaan
  3. function captcha() {
  4.  
  5. // Functie vereist een gestarte sessie!
  6. if(session_id() == '') {
  7. die("De AntiSpam functionaliteit voor formulieren kon niet worden gestart, uit veiligheidsoverwegingen is deze pagina uitgeschakeld");
  8. }
  9.  
  10. // De cijfers waar de rekensom uit moet bestaan, plus het bijbehorende woord.
  11. $cijfers = array(0 => "nul", 1 => "&eacute;&eacute;n", 2 => "twee", 3 => "drie", 4 => "vier", 5 => "vijf", 6 => "zes", 7 => "zeven", 8 => "acht", 9 => "negen");
  12. $mogelijkheden = array(array("dummy", "dummy"), array("+", "plus"), array("-", "min"));
  13.  
  14. // Het eerste getal van de rekensom (random)
  15. $first = rand(1,count($cijfers)-1);
  16. $firstInt = $first;
  17. $firstText = $cijfers[$first];
  18.  
  19. // De gebruikte somregel (random)
  20. $second = rand(1,count($mogelijkheden)-1);
  21. $secondInt = $mogelijkheden[$second][0];
  22. $secondText = $mogelijkheden[$second][1];
  23.  
  24. // Het derde getal van de rekensom (random)
  25. $third = rand(1,count($cijfers)-1);
  26. $thirdInt = $third;
  27. $thirdText = $cijfers[$third];
  28.  
  29. $tmpResult = '$result = '.$firstInt.$secondInt.$thirdInt.';';
  30. eval($tmpResult);
  31.  
  32. // De sessie zetten
  33. $_SESSION['result'] = $result;
  34.  
  35. // De rekensom voor de gebruiker teruggeven
  36. return "Wat is ".$firstText." ".$secondText." ".$thirdText."?";
  37.  
  38. }
  39. ?>

11 antwoorden

Gesponsorde links
Offline webstab - 07/02/2007 16:40 (laatste wijziging 07/02/2007 16:40)
Avatar van webstab PHP ver gevorderde Het zinnetje ziet er altijd zo uit
Wat is getal1 plus getal2?
(en die zin vinden we in de broncode)

Een bot leest dus gewoon getal1 en getal2 in en zet dat om naar cijfers met bv een array (zoals jij dat doet) en berekent zo de som...

(Analoog voor min)
Offline X3ore - 07/02/2007 16:44
Avatar van X3ore HTML interesse Mzz, hoe kan ik dit dan beveiligen? Coderen haalt ook niets uit want het resultaat zal dan altijd in de bron staan..  
Offline Soebam - 07/02/2007 16:48
Avatar van Soebam HTML ver gevorderde in een plaatje zetten dus -> gd
Offline X3ore - 07/02/2007 16:54
Avatar van X3ore HTML interesse Maar bots kunnen plaatjes toch ook lezen?
Offline webstab - 07/02/2007 16:55
Avatar van webstab PHP ver gevorderde Ja, maar je moet een bepaalde achtergrond nemen en de cijfers op verschillende plaatsen zetten... (niet gewoon op eens lijn met effen achtergrond)
Offline Soebam - 07/02/2007 17:07
Avatar van Soebam HTML ver gevorderde En draaien en grunge er doorheen en verschillende lettertypen en dan nog een rekensommetje. 100% wordt ie nooit, maar zo houd je toch al heel wat bots buiten.
Offline Rik - 07/02/2007 17:13
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
De mod die je nu gebruikt is toch de "Equation on Registration" mod? Die is nog niet zo heel oud maar wel al redelijk bekend, daarom is het voor een spammer interessant om er een bot voor te maken. Maar als je zelf iets maakt kan hij alleen jouw website spammen en heeft hij er veel minder aan. De kans is dan groot dat hij gewoon weg gaat!  
Offline X3ore - 07/02/2007 18:47
Avatar van X3ore HTML interesse Oke bedankt voor de informatie 
Offline gothmog - 07/02/2007 19:24
Avatar van gothmog Lid Even dit: je Captcha is niet bepaald kleurenblind vriendelijk, ik zie de helft van de letters niet... 
Offline X3ore - 07/02/2007 19:29
Avatar van X3ore HTML interesse Hij is ook nog niet klaar, ik ben momenteel al blij dat de bot niet meer kan spammen  
Offline xSc - 08/02/2007 07:39
Avatar van xSc Onbekend Met een goede veldvalidatie houd je ook eigenlijk alles al buiten de deur.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.389s