All Projects → CleanTalk → Nginx Cleantalk Service

CleanTalk / Nginx Cleantalk Service

Licence: gpl-3.0
LUA configuration to filter any POST requests.

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Nginx Cleantalk Service

Ngx php
ngx_php - Embedded php scripting language for nginx module. All released versions of the code repository.
Stars: ✭ 290 (+2130.77%)
Mutual labels:  module, nginx
Ngx dynamic limit req module
The ngx_dynamic_limit_req_module module is used to dynamically lock IP and release it periodically.
Stars: ✭ 57 (+338.46%)
Mutual labels:  block, nginx
Ngx Fancyindex
Fancy indexes module for the Nginx web server
Stars: ✭ 511 (+3830.77%)
Mutual labels:  module, nginx
mediawiki-antispam
Antispam extension for MediaWiki.
Stars: ✭ 15 (+15.38%)
Mutual labels:  spam, module
Ngx php7
ngx_php7 - Embedded php7 scripting language for nginx module. Mainline development version of the ngx_php.
Stars: ✭ 337 (+2492.31%)
Mutual labels:  module, nginx
Scriptsafe
a browser extension to bring security and privacy to chrome, firefox, and opera
Stars: ✭ 434 (+3238.46%)
Mutual labels:  blacklist, block
Pydnsbl
Async dnsbl spam lists checker based on asyncio/aiodns.
Stars: ✭ 18 (+38.46%)
Mutual labels:  blacklist, spam
Stepic web project
Stars: ✭ 8 (-38.46%)
Mutual labels:  nginx
Status Nginx Module
A http status module for pure nginx, which is in production already.
Stars: ✭ 10 (-23.08%)
Mutual labels:  nginx
Gowebsocket
golang基于websocket单台机器支持百万连接分布式聊天(IM)系统
Stars: ✭ 937 (+7107.69%)
Mutual labels:  nginx
Ngx mruby Package Builder
Package Builder of ngx_mruby with Docker
Stars: ✭ 25 (+92.31%)
Mutual labels:  nginx
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (+6400%)
Mutual labels:  nginx
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+6523.08%)
Mutual labels:  nginx
Docker Socket Http Proxy
Simple nginx proxy container for the docker socket
Stars: ✭ 7 (-46.15%)
Mutual labels:  nginx
Blockcmd
A PocketMine-MP plugin to block certain commands from being used by players in your server
Stars: ✭ 12 (-7.69%)
Mutual labels:  block
Php Interview
PHP后端开发面试指南。
Stars: ✭ 26 (+100%)
Mutual labels:  nginx
Generator Mage2
Yeoman generator for Magento 2 extensions (modules and themes)
Stars: ✭ 12 (-7.69%)
Mutual labels:  module
Prerender.io Nginx
Unofficial prerender.io nginx.conf
Stars: ✭ 11 (-15.38%)
Mutual labels:  nginx
Devops Tuts
Meteor Devops on OSX with Docker set for Ubuntu
Stars: ✭ 10 (-23.08%)
Mutual labels:  nginx
Nuxt Ssr Demo
✨ 高仿掘金,整合 vue + nuxt + axios + vuex + vue-router (nuxt 自带 vuex 和 vue-router),一个基于 Nuxt 的服务器端渲染 Demo
Stars: ✭ 856 (+6484.62%)
Mutual labels:  nginx

Nginx lua-based module to filter spam POST requests to protect your website from spam bots by the blacklist.

Dependencies:

  • nginx-extras
  • lua-cjson

Install:

  • Debian/Ubuntu: apt install nginx-extras lua-cjson
  • Add nginx/conf.d/cache.conf to /etc/nginx/conf.d/ and set cache params as you want.
  • Add include /etc/nginx/snippets/cleantalk-api.conf; before protected location (Its API cache location)
  • Add this to "location" that you want to protect: set $apikey '123456789'; access_by_lua_file /etc/nginx/scripts/cleantalk.lua
  • Set $apikey to your key (Get it from: https://cleantalk.org/register?platform=api)
  • Do service nginx reload for apply changes

How its works?

When someone makes a POST request, parse it and grab email and IP (regex-based). IP and Email will be checked with the CleanTalk Database and if they are currently blacklisted then the visitor sees the block screen. If not then the POST request will be approved.

If there is no IP in the POST request — "http_remote_addr" (Real client address) will be used.

How Does the CleanTalk Database of Spam IP & Email Work?

CleanTalk analyzes spambots activity from more than 320,000 websites. We process about 2 millions of requests every day.

IPs and emails are being added to the CleanTalk Database only if they showed spam activity on several websites at once in a short period of time. Addresses that haven't shown any spam activity for the past 14 days will be deleted from the database. It allows us to keep the database information in the freshest state.

Spam activity data of IPs/emails are being updated in real-time.

Learn more about CleanTalk BlackList

How Is It Helpful

CleanTalk anti-spam module allows you to block bad IP addresses on your web server. Protect from spam attacks Block requests with fake emails Block other types of attacks on a web server from bad IP addresses using POST requests. Reduce web server load

Also, you can use CleanTalk API "spam_check" to check IP and Email via CleanTalk BlackList.

TODO:

  • [ ] Remove additional "/spam_check" location for proxy requests
  • [ ] Add session mechanics support (for protect entire folder w/o additional requests)?
  • [ ] Remove cjson dependencies (Possible to parse Json to native "lua table")
  • [ ] Add "GET" data support?
  • [ ] Better code and optimisation?
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].