PHP Classes

contao PHP Spambot Detection: Detect and block spam bots from accessing sites

Recommend this page to a friend!
  Info   View files Documentation   View files View files (56)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog (1)    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 85 All time: 10,021 This week: 89Up
Version License PHP version Categories
contao-spambot 1.0Free for non-comm...5Networking, PHP 5, Web services, Secu...
Description 

Author

This package can detect and block spam bots from accessing sites by installing it in the Contao-CMS.

It can check the IP address of a suspicious user against several types of IP address blacklists and whitelists.

The package can store in a cache in a database the results of the analysis of suspicious user IP addresses to avoid rechecking the blacklists and whitelists for the same IP address.

Innovation Award
PHP Programming Innovation award nominee
March 2023
Number 2
Spambots are usually programs that are run automatically by people with bad intentions.

Sometimes they want to steal the content of Web sites to republish on other sites without benefiting the original creators of the content.

Spambots may also overload servers because they send too many requests to servers to retrieve the content quickly.

This package provides a way to detect the accesses from spambots.

This way, site owners that use this package can block the access of spambots to avoid damages that it can cause to the site businesses.

Manuel Lemos
Picture of stefan
  Performance   Level  
Name: stefan <contact>
Classes: 3 packages by
Country: Germany Germany
Age: ???
All time rank: 4200224 in Germany Germany
Week rank: 276 Up16 in Germany Germany Up
Innovation award
Innovation award
Nominee: 3x

Winner: 1x

Documentation

SpamBot

  1. Deutsch
  2. English

<a name="1"></a>1. Deutsch

Blockieren sie den Zugriff auf Ihre Web-Seite (oder einzelne Seiten ihres Internetauftritts) für (halb-) automatische Spam-Roboter. Alle IP Adressen und/oder E-Mail Adressen werden bei der Prüfung entweder als Spam (unerwünschter Zugriff) oder als Ham (erlaubter Zugriff) identifiziert. Dabei können sie wahlweise die IP Adressen auch auf eine BlackList (Liste von unerwünschten Besuchern) oder eine WhiteList (Liste erwünschter Besuchern) eintragen.

Folgende Anbieter können genutzt werden:

Installation

  • Installieren sie die Erweiterung.
  • Erstellen sie ein neues Frontend-Modul vom Typ SpamBot-IP (für die Überprüfung der IP-Adressen) oder SpamBot-Mail (für die Überprüfung der Mail-Adressen). Konfigurieren Sie welche Anbieter genutzt werden sollen.
  • Erstellen sie bei Bedarf eine neue Seite auf die alle als verdächtig identifizierten Besucher weiter geleitet werden oder passen sie das Template mod_spambot nach ihren Bedürfnissen an (das Template unterstützt die Ausgabe einer Meldung in Deutsch oder Englisch).
  • Binden sie das Modul wahlweise im Seitenlayout oder auf einzelne Seiten als Seitenelement ein.

Benutzung

  • Ab sofort wird entweder die IP Adresse der Besucher überprüft oder die E-Mail Adresse wird bei der Eingabe in irgend welchen Forumlarfeldern überprüft. Sollten die Daten als Spam eingestuft werden, so wird wahlweise eine Meldung ausgegeben oder die verdächtigen Besucher werden auf eine spezielle Seite weiter geleitet.
  • Über einen neuen Menüpunkt im BackEnd (unterhalb der Benutzerverwaltung) können sie zusätzliche IP Adressen oder IP Bereiche oder E-Mail Adressen in eine BlackList oder WhiteList eintragen.
  • Nach der Prüfung der IP Adresse stehen Ihnen in allen Templates folgende InsertTags zur Verfügung: * `{{SpamBot::clientIP}}` IP Adresse die geprüft wurde. * `{{SpamBot::Typ}}`´Spam Typ. * `{{SpamBot::Engine}}` Spam Provider Name (ggf. mit Link). * `{{SpamBot::Status}}` Statusmeldung.

Besonderheiten

  • Die Suchmaschinen werden parallel abgefragt. Dies erhöht im Vergleich zu anderen Lösungen den Durchsatz ganz erheblich.
  • Wir empfehlen ihnen die Module auf der Seitenebene einzubauen. * Je nachdem welche / wie viele Provider sie bei der Prüfung einbinden, kann sich die Latenzzeit der Seite verlängern. Durch das Einbinden eines Moduls z.B. nur auf der Registrierungsseite und/oder der Kontaktseite werden alle anderen Seiten schneller angezeigt. * Die Verwendung mehrerer Seitenmodule bietet ihnen die Möglichkeit in einem mehrsprachigen Internetauftritt auf eine an die Sprache angepasste Seite um zu lenken. Sie können spezielle Seiten z.B. in einem Intranetauftritt durch die Verwendung vonBlackList* Einträgen nur für bestimmte Benutzer frei schalten (oder ausschließen).
  • Sie können SpamBot-Mail für jedes beliebige Formular verwenden - denken Sie nur daran, das Modul am Anfang der Seite mit einzubauen.

Testen

  • Wir empfehlen ihnen dringend die Tests mit dem Modul auf einer eigenen für andere Besucher nicht sichtbaren Seite oder auf einer lokalen Kopie ihrer Internetpräsenz durch zu führen (sonst sperren sie womöglich Kunden aus ;-).
  • Erlauben sie in der Konfiguration das Speichern von Ham (erlaubten) IP Zugriffen.
  • Rufen sie die präparierte Site im FrontEnd auf.
  • Im BackEnd können sie nun sich den Eintrag ihrer IP / Mail Adresse anschauen.
  • Überprüfen sie ihre IP /Mail Adresse bei den von ihnen konfigurierten Anbietern und lassen sich das Ergebnis anzeigen.
  • Ändern Sie den Datensatz auf den Typ Spam.
  • Rufen sie die Seite nochmals auf und überprüfen sie das veränderte Verhalten.

Viel Spaß bei der Benutzung!

<a href="https://www.paypal.com/donate?hosted_button_id=RQMP8CWD2Y2XC" target="_blank"> <img src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_donateCC_LG.gif" alt="Donate with PayPal"/> </a> <a href="https://community.contao.org/de/showthread.php?36800-SpamBot" target="_blank"> <img src="https://community.contao.org/de/images/layout/contao_community.svg" alt="Support" width="100" height="50"/> </a>

<a name="2"></a>2. English

Block access to your Web Site (singe pages or whole Internet presence) for spam robots. All IP or e-mail addresses are identified as Spam (suspicious access) or Ham (allowed access) based on BlackList or WhiteList or provider checks.

You may use one or more of the following providers

Installation

  • Install Plugin
  • Create a new Frontend module of typ SpamBot-IPorSpamBot-Mail. Configure which provider should be used.
  • Create a new page (optional) to which suspicious visitor should be redirected or check and update template mod_spambot according to your requirements (existing template supports German and English messages).
  • Include module either in Page layout or on one or more pages as Page element.

Usage

  • All visitor IP / mail addresses are checked and in case of suspicious visitor (Spam) either a message is displayed or visitor is redirected to a preselected page.
  • Using a new menu option in BackEnd (in Account management) you can specify addition IP / mail addresses or regular expressions in BlackList or WhiteList.
  • After checking the IP address, the following InsertTags are available in all templates: * `{{SpamBot::clientIP}}` IP address checked. * `{{SpamBot::Typ}}` Spam typ. * `{{SpamBot::Engine}}` Spam provider name (probably with link). * `{{SpamBot::Status}}` Status message.

Specifics

  • Search engines were called in parallel. With this special solution operational capacity is enlarged dramatically.
  • We recommend using modules only on page level. * Depending on which / how many provider you want to use latency time for displaying pages are extended. If you include module e.g. only on registration page and/or on contact page all other pages will be displayed faster. * If you use a Internet site with multi-language support you may define multiple Frontend modules with a a language specific redirection page. With this plugin you may lock specific pages from being displayed (in your intranet) using theBlackListor allow only specific visitors to see these pages usingWhiteList*.
  • You may use SpamBot-Mail in any form of your choice. Please don't forget to include modul at top of your page.

Testing

  • We highly recommend making any tests on a page not visible for other visitors or on a local copy of your Internet site (may bee you will lock or potential customers during testing :-).
  • Allow logging of Ham IP / mail access.
  • Open you prepared page in front end.
  • Take a look at the IP / mail address in BackEnd.
  • Check IP / mail address with configured provider and analyze result.
  • Modify record and change type to Spam.
  • Reload your modified page in browser and check results.

Please enjoy!

<a href="https://www.paypal.com/donate?hosted_button_id=RQMP8CWD2Y2XC" target="_blank"> <img src="https://www.paypalobjects.com/en_US/DK/i/btn/btn_donateCC_LG.gif" alt="Donate with PayPal"/> </a> <a href="https://community.contao.org/de/showthread.php?36800-SpamBot" target="_blank"> <img src="https://community.contao.org/de/images/layout/contao_community.svg" alt="Support" width="100" height="50"/> </a>


  Files folder image Files  
File Role Description
Files folder imagesrc (1 file, 4 directories)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  src  
File Role Description
Files folder imageContaoManager (1 file)
Files folder imageDependencyInjection (1 file)
Files folder imageModule (6 files, 1 directory)
Files folder imageResources (3 directories)
  Accessible without login Plain text file SpamBotBundle.php Class Class source

  Files folder image Files  /  src  /  ContaoManager  
File Role Description
  Accessible without login Plain text file Plugin.php Class Class source

  Files folder image Files  /  src  /  DependencyInjection  
File Role Description
  Accessible without login Plain text file SpamBotExtension.php Class Class source

  Files folder image Files  /  src  /  Module  
File Role Description
Files folder imageengines (16 files)
  Accessible without login Plain text file SpamBot.php Class Class source
  Accessible without login Plain text file SpamBotCron.php Class Class source
  Accessible without login Plain text file SpamBotIP.php Class Class source
  Accessible without login Plain text file SpamBotMail.php Class Class source
  Accessible without login Plain text file SpamBotMod.php Class Class source
  Accessible without login Plain text file SpamBotTextField.php Class Class source

  Files folder image Files  /  src  /  Module  /  engines  
File Role Description
  Accessible without login Plain text file AHBL.php Class Class source
  Accessible without login Plain text file Blocklist.php Class Class source
  Accessible without login Plain text file BotScout.php Class Class source
  Accessible without login Plain text file FSpamList.php Class Class source
  Accessible without login Plain text file Honeypot.php Class Class source
  Accessible without login Plain text file Intern.php Class Class source
  Accessible without login Plain text file IPStack.php Class Class source
  Accessible without login Plain text file NixSpam.php Class Class source
  Accessible without login Plain text file SORBS.php Class Class source
  Accessible without login Plain text file SpamCop.php Class Class source
  Accessible without login Plain text file Spamhaus.php Class Class source
  Accessible without login Plain text file StopForumSpam.php Class Class source
  Accessible without login Plain text file UCEProtect1.php Class Class source
  Accessible without login Plain text file UCEProtect2.php Class Class source
  Accessible without login Plain text file UCEProtect3.php Class Class source
  Accessible without login Plain text file WPBL.php Class Class source

  Files folder image Files  /  src  /  Resources  
File Role Description
Files folder imageconfig (1 file)
Files folder imagecontao (4 directories)
Files folder imagepublic (1 file, 2 directories)

  Files folder image Files  /  src  /  Resources  /  config  
File Role Description
  Accessible without login Plain text file services.yml Data Auxiliary data

  Files folder image Files  /  src  /  Resources  /  contao  
File Role Description
Files folder imageconfig (1 file)
Files folder imagedca (2 files)
Files folder imagelanguages (2 directories)
Files folder imagetemplates (1 directory)

  Files folder image Files  /  src  /  Resources  /  contao  /  config  
File Role Description
  Accessible without login Plain text file config.php Aux. Auxiliary script

  Files folder image Files  /  src  /  Resources  /  contao  /  dca  
File Role Description
  Accessible without login Plain text file tl_module.php Class Class source
  Accessible without login Plain text file tl_spambot.php Class Class source

  Files folder image Files  /  src  /  Resources  /  contao  /  languages  
File Role Description
Files folder imagede (4 files)
Files folder imageen (4 files)

  Files folder image Files  /  src  /  Resources  /  contao  /  languages  /  de  
File Role Description
  Accessible without login Plain text file default.php Aux. Auxiliary script
  Accessible without login Plain text file modules.php Aux. Auxiliary script
  Accessible without login Plain text file tl_module.php Aux. Auxiliary script
  Accessible without login Plain text file tl_spambot.php Aux. Auxiliary script

  Files folder image Files  /  src  /  Resources  /  contao  /  languages  /  en  
File Role Description
  Accessible without login Plain text file default.php Aux. Auxiliary script
  Accessible without login Plain text file modules.php Aux. Auxiliary script
  Accessible without login Plain text file tl_module.php Aux. Auxiliary script
  Accessible without login Plain text file tl_spambot.php Aux. Auxiliary script

  Files folder image Files  /  src  /  Resources  /  contao  /  templates  
File Role Description
Files folder imagemodules (2 files)

  Files folder image Files  /  src  /  Resources  /  contao  /  templates  /  modules  
File Role Description
  Accessible without login Plain text file mod_spambot.html5 Example Example script
  Accessible without login Plain text file mod_spambot.xhtml Example Example script

  Files folder image Files  /  src  /  Resources  /  public  
File Role Description
Files folder imagecss (2 files)
Files folder imageimages (11 files)
  Accessible without login Plain text file SpamBotCall.php Class Class source

  Files folder image Files  /  src  /  Resources  /  public  /  css  
File Role Description
  Accessible without login Plain text file spambot_be.css Data Auxiliary data
  Accessible without login Plain text file spambot_fe.css Data Auxiliary data

  Files folder image Files  /  src  /  Resources  /  public  /  images  
File Role Description
  Accessible without login Image file blacklist.png Icon Icon image
  Accessible without login Image file check.png Icon Icon image
  Accessible without login Image file clear.png Icon Icon image
  Accessible without login Image file ham.png Icon Icon image
  Accessible without login Image file loaded.png Icon Icon image
  Accessible without login Image file nocheck.png Icon Icon image
  Accessible without login Image file notfound.png Icon Icon image
  Accessible without login Image file spam.png Icon Icon image
  Accessible without login Image file spambot.png Icon Icon image
  Accessible without login Image file spam_error.png Icon Icon image
  Accessible without login Image file whitelist.png Icon Icon image

 Version Control Unique User Downloads Download Rankings  
 100%
Total:85
This week:0
All time:10,021
This week:89Up