All Projects → CHH → stack-honeypot

CHH / stack-honeypot

Licence: MIT license
Inserts a trap for spam bots into responses.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to stack-honeypot

ctl
My variant of the C Template Library
Stars: ✭ 105 (+377.27%)
Mutual labels:  stack
Vyxal
A golfing language that has aspects of traditional programming languages - terse, elegant, readable.
Stars: ✭ 134 (+509.09%)
Mutual labels:  stack
quetie
🎀 Just the cutest and tiniest queue/deque implementation!
Stars: ✭ 111 (+404.55%)
Mutual labels:  stack
twisted-honeypots
SSH, FTP and Telnet honeypots based on Twisted
Stars: ✭ 79 (+259.09%)
Mutual labels:  honeypot
coap-go
Lobaro CoAP for GoLang - server and client applications
Stars: ✭ 20 (-9.09%)
Mutual labels:  stack
SSHapendoes
Capture passwords of login attempts on non-existent and disabled accounts.
Stars: ✭ 31 (+40.91%)
Mutual labels:  honeypot
DemonHunter
Distributed Honeypot
Stars: ✭ 54 (+145.45%)
Mutual labels:  honeypot
nanostack
Small middleware stack library
Stars: ✭ 39 (+77.27%)
Mutual labels:  stack
Vue
💻 Vue - Boilerplate Front : Vue 3, Vuex, Vuetify 3, JWT, Jest (Beta)
Stars: ✭ 12 (-45.45%)
Mutual labels:  stack
awesome-startup-stack
Curated list of technologies for your next startup
Stars: ✭ 32 (+45.45%)
Mutual labels:  stack
BasicExercises
📘 Personal basic practice test playground.
Stars: ✭ 84 (+281.82%)
Mutual labels:  stack
needle
📌📚 An extensive standalone data structure library for JavaScript.
Stars: ✭ 25 (+13.64%)
Mutual labels:  stack
swarm-router
Scalable stateless «zero config» service-name ingress for docker swarm mode with a fresh more secure approach
Stars: ✭ 58 (+163.64%)
Mutual labels:  stack
charm
A [ functional stack ] based language.
Stars: ✭ 26 (+18.18%)
Mutual labels:  stack
CircularCardsStackView
CircularCardsStackView is an Android library for dealing with swipeable card views.
Stars: ✭ 30 (+36.36%)
Mutual labels:  stack
citrix-honeypot
Citrix ADC (NetScaler) Honeypot. Supports detection for CVE-2019-19781 and login attempts
Stars: ✭ 24 (+9.09%)
Mutual labels:  honeypot
uC-USBH
Efficient USB host stack for embedded systems equipped with a USB host or OTG controller. Includes many class drivers such as MSC, HID, CDC-ACM, and USB2Ser.
Stars: ✭ 44 (+100%)
Mutual labels:  stack
mean-ionic-ngrx
Monorepo as Microservices: Full MEAN stack with Angular 7, Ionic 4 and ReactiveX API (ngrx/Store + ngrx/Effects) + i18n/ngx-translate + Express NodeJS REST API servers micro-services + JWT Authentication + UnitTest/e2e exemple + Travis + DevOps scripts and many more...
Stars: ✭ 60 (+172.73%)
Mutual labels:  stack
masscanned
Let's be scanned. A low-interaction honeypot focused on network scanners and bots. It integrates very well with IVRE to build a self-hosted alternative to GreyNoise.
Stars: ✭ 50 (+127.27%)
Mutual labels:  honeypot
TclForth
Multi-platform desktop Forth based on Tcl/Tk
Stars: ✭ 55 (+150%)
Mutual labels:  stack

Stack\Honeypot

A port of Rack::Honeypot to Stack for PHP.

Install

composer require stack/honey-pot:~1.0

Usage

Wrap your HttpKernelInterface app in an instance of CHH\Stack\Honeypot or add it to your middleware stack.

With stack/builder:

<?php

$options = [];

$app = (new Stack\Builder)
    ->push(CHH\Stack\Honeypot::class, $options)
    ->resolve($app);

Without the builder:

$app = new Stack\Honeypot($app, $options);

From Rack::Honeypot:

This middleware acts as a spam trap. It inserts, into every outputted <form>, a text field that a spambot will really want to fill in, but is actually not used by the app. The field is hidden to humans via CSS, and includes a warning label for screenreading software.

In the <body>:

<form>
  <div class='phonetoy'>
    <label for='email'>Don't fill in this field</label>
    <input type='text' name='email' value=''/>
  </div>
[...]

In the <head>:

<style type='text/css' media='all'>
  div.phonetoy {
    display:none;
  }
</style>

Then, for incoming requests, the middleware will check if the text field has been set to an unexpected value. If it has, that means a spambot has altered the field, and the spambot is booted to a dead end blank page.

There are a few options you can pass to the constructor (or to the Stack Builder):

  • class_name is the class assigned to the parent div of the honeypot. Defaults to "phonetoy", an anagram of honeypot.
  • label is the warning label displayed to those with CSS disabled. Defaults to "Don't fill in this field".
  • input_name is the name of the form field. Ensure that this is tempting to a spambot if you modify it. Defaults to "email".
  • input_value is the value of the form field that would only be modified by a spambot. Defaults to blank.
  • always_enabled (defaults to true) set to false if you don't want to insert the trap into all responses returned by your app. Just add X-Honeypot: enabled to your response headers to enable the trap for this response.

License

See LICENSE.txt.

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].