jqqjj / easy-human-auth
Simple APIs for protecting your application far away from robots
Installs: 89
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:php
Requires
- php: >=5.3
This package is auto-updated.
Last update: 2024-04-11 23:33:20 UTC
README
Simple APIs for protecting your application far away from robots.
Installation
Run the following to include this via Composer
composer require jqqjj/easy-human-auth
Usage
Create mysql tables(when using DBTableGateway adapter)
CREATE TABLE `handshake` ( `handshake_id` char(32) NOT NULL, `remaining` int(10) unsigned DEFAULT NULL, `expired_time` timestamp NULL DEFAULT NULL, PRIMARY KEY (`handshake_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `attempt` ( `handshake_id` char(32) NOT NULL, `status` tinyint(3) unsigned NOT NULL, `add_time` timestamp NULL DEFAULT NULL, `ip` char(15) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Code:
use Jqqjj\EasyHumanAuth\Manager; use Jqqjj\EasyHumanAuth\Adapter\DBTableGateway; //Create a PDO object $pdo = new \PDO('mysql:host=localhost;port=3306;dbname=yourdbname','dbuser','dbpasswd'); $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); //Create an adapter(Only MySQL adapter is supported Currently) $adapter = new DBTableGateway($pdo); $object = new Manager($adapter); //Run the codes when the client do something incorrectly $object->attemptFailure(); //Run the codes when the client do things as you want to be $object->attemptSuccess(); //Check it, it will return false when the client is a robot if($object->check()){ //human }else{ //robot } //Finally, output the cookie $object->outputCookie(); //OR header("Set-Cookie:".$object->getCookieString());
License
This package is licensed under the MIT license.