{"id":74,"date":"2007-06-24T19:29:54","date_gmt":"2007-06-24T18:29:54","guid":{"rendered":"http:\/\/www.nielsgamborg.dk\/wordpress\/uncategorized\/spam-bek%c3%a6mpelse-igen-igen.htm"},"modified":"2007-06-24T19:29:54","modified_gmt":"2007-06-24T18:29:54","slug":"spam-bekaempelse-igen-igen","status":"publish","type":"post","link":"https:\/\/nielsgamborg.dk\/wordpress\/webudvikling\/spam-bekaempelse-igen-igen.htm","title":{"rendered":"Spam bek\u00e6mpelse igen igen"},"content":{"rendered":"<p>S\u00e5 er det anden gang jeg udr\u00e5ber min succes p\u00e5 spambek\u00e6mpelses omr\u00e5det. Men denne gang virker det forh\u00e5bentligt. Her f\u00f8lger en mere eller mindre udf\u00f8rlig beskrivelse.<\/p>\n<h3>JavaScript<\/h3>\n<p>F\u00f8rste\u00a0fors\u00f8g var ved hj\u00e6lp af JavaScript at forbyde enkelte\u00a0tegn&#8221;&lt;&#8221; og &#8220;&gt;&#8221;. Form\u00e5let var at forhindre robotter i at poste HTML tags og dermed links. Det virkede fint for almindelige brugere men \u00e5benbart ikke for robotter, der stadig kunne poste links? \u00a0<\/p>\n<h3>Input felter skjult med CSS<\/h3>\n<p>Andet\u00a0fors\u00f8g var at tilf\u00f8je nogle tekstfelter til g\u00e6stebogs\u00a0formular. Tekstfelter, der\u00a0er skjult for den almindelige bruger med CSS&#8217;en. N\u00e5r\u00a0de bliver udfyldt kasserer jeg indl\u00e6ggene med det samme v.h.a. noget php-script. Ved samme lejlighed lavede jeg en t\u00e6ller, der talte de kasserede indl\u00e6g for at kunne holde \u00f8je med robotterne. Robotf\u00e6lden var go&#8217; nok og jeg fangede en del, men alt for mang slap stadig igennem.<\/p>\n<p>Tredje fors\u00f8g gik ud p\u00e5 at tilf\u00f8je endnu flere skjulte tekstfelter. Denne gang maskerede jeg dem bedre med forskellige class navne. Virkede ganske kort, men is\u00e6r en spammer fandt tilsyneladende ud af systemet.<\/p>\n<h3>Mere JavaScript<\/h3>\n<p>Fjerde fors\u00f8g. Forb\u00f8d med JavaScript tegnene &#8220;&amp;&#8221; og &#8220;#&#8221;. Troede at robotteren omgikkes forbudet mod &#8220;&lt;&#8221; og &#8220;&gt;&#8221; v.h.a. html speciel characters? Det gjorde ingen forskel overhovedet. Jeg har ingen id\u00e9 om, hvordan de kan omg\u00e5es alle de forbud. Har du?<\/p>\n<p>(fandt senere ud af at robotterne ikke udfylder formularer og derfor er ligeglade. Istedet sender de bare de data direkte, og derfor kommer JavaScript valideringen aldrig i brug)<\/p>\n<h3>PHP og htmlspecialchars<\/h3>\n<p>Femte fors\u00f8g. Brugte php funktionen &#8220;htmlspecialchars&#8221; til at stoppe html-tagsene. Det var anderledes effektivt. Robotterne kunne nu ikke poste links, men forsatte dog ufortr\u00f8dent, selv om alle tags nu blev vist som alm. takst.<\/p>\n<p>Sjette fors\u00f8g. Brugte nu php til at forbyde nogle af de samme tegn, som jeg ogs\u00e5 havde forbudt i JavaScript. Hvis en bruger taster et &#8220;&lt;&#8221; f\u00e5r han at vide det er fejl. Hvis robotten g\u00f8r det bliver indl\u00e6gget kasseret.\u00a0<\/p>\n<p>Det virker som om det sidste hul nu er lukket. Jeg har p\u00e5 35 dage fanget 155 robotter, og sidder med f\u00f8lelsen af at endelig\u00a0have vundet. \ud83d\ude00<\/p>\n<p>Se min <a href=\"http:\/\/www.nielsgamborg.dk\/index.php?p=forside&amp;u=gaestebog\">robot t\u00e6ller<\/a> der bare g\u00e5r h\u00f8jere og h\u00f8jere op.<\/p>\n<p>Se <a href=\"http:\/\/ekot.dk\/www\/spamtrap\/\" title=\"spam f\u00e6lder\">Tokes originale opskrift p\u00e5 spam robot f\u00e6lder<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u00e5 er det anden gang jeg udr\u00e5ber min succes p\u00e5 spambek\u00e6mpelses omr\u00e5det. Men denne gang virker det forh\u00e5bentligt. Her f\u00f8lger en mere eller mindre udf\u00f8rlig beskrivelse. JavaScript F\u00f8rste\u00a0fors\u00f8g var ved hj\u00e6lp af JavaScript at forbyde enkelte\u00a0tegn&#8221;&lt;&#8221; og &#8220;&gt;&#8221;. Form\u00e5let var at forhindre robotter i at poste HTML tags og dermed links. Det virkede fint for [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/posts\/74"}],"collection":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/comments?post=74"}],"version-history":[{"count":0,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/posts\/74\/revisions"}],"wp:attachment":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/media?parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/categories?post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/tags?post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}