Awesome
Honeypot
The Project Honey Pot's un-official PHP SDK.
Using the library, you can start auto-detecting bad visitors (HttpBL
) and/or help
deterring new ones (Quicklink
).
Install
composer require jadb/honeypot:1.0.x-dev
Usage
HttpBL
To use the Http::BL API, you will first need an API key. Head over and register if you haven't already (this is a referral link):
Once you have that, you can just do:
<?php
if (!(new \Honeypot\HttpBL('your-api-key'))->isSafe('127.0.0.1') {
exit('Unsafe visitor');
}
If you want more control over the rules:
<?php
/**
* By default, strict mode is used. When not in strict mode, any pass is a pass. This ruleset
* translates to: 5 days or older, or threat score lower than 2, or visitor type lower than 4.
*/
$strict = false;
$age = 5;
$score = 2;
$type = 4;
if (!(new \Honeypot\HttpBL('your-api-key'))->isSafe('127.0.0.1', $age, $score, $type) {
exit('Unsafe visitor');
}
For even more, you could just get the Address
object and create your own validation:
<?php
$address = (new \Honeypot\HttpBL('your-api-key'))->address('127.0.0.1');
NOTE: For testing purposes, dummy data is made available.
Quicklink
To use quicklinks and help deterring new bad IPs, you will need to get a honeypot's URL or host your own honeypot.
Once that is done, you can create up to 8 different links by doing:
<?php
// this will create 5 links
echo (new \Honeypot\Quicklink('http://link.to.honeypot.org/'))->render(5);
Patches & Features
- Fork
- Mod, fix
- Test - this is important, so it's not unintentionally broken
- Commit - do not mess with license, todo, version, etc. (if you do change any, bump them into commits of their own that I can ignore when I pull)
- Pull request - bonus point for topic branches
To ensure your PRs are considered for upstream, you MUST follow the PSR2 coding standards.
Bugs & Feedback
http://github.com/jadb/honeypot/issues
License
Copyright (c) 2015, Jad Bitar and licensed under The MIT License.