This library provides a wrapper to use KeyPic web service for spam detection,
by using any PSR-7 compliant request (RequestInterface
objects).
You can install this library with Composer. Drop this into your composer.json
manifest file:
{
"require": {
"zrashwani/key-pic": "dev-master"
}
}
Then run composer install
.
To use keypic web service with any request that implements PSR-7:
require 'vendor/autoload.php';
use Zrashwani\KeyPic\KeyPic;
$keypicObj = new KeyPic($psrRequest); //initiate and configure keypic object
$keypicObj = $keypicObj->setFormID('YOUR_KEYPIC_FORM_ID') //set form ID
->setDebug(true) // set debug mode
->setTokenInputName("keypic_token"); //hidden input name
$token = $keypicObj->getToken();
if($psrRequest->getMethod() == "POST"){
$data = $psrRequest->getParsedBody();
$email = $data['EMAIL_INPUT'];
$username = $data['NAME_INPUT'];
$message = $data['MESSAGE_INPUT'];
//Detect if entry is Spam? from 0% to 100%
$spam = $keypicObj->isSpam($email, $username, $message);
if($spam === false){
echo "Cannot determine spam percentage.";
}elseif($spam > 60){ //if spam percentage larger than certain number
echo "user and/or submitted data seems spammy, spam percentage = ".$spam;
}else{
echo "Not Spam";
}
}
In your form, place the call to renderHtml()
method to render pixel image or javascript, along with keypic hidden token field as following:
<form action="" method="post">
<!-- Your form elements here -->
<?php echo $keypicObj->renderHtml(); ?>
</form>
- Fork this repository
- Create a new branch for each feature or improvement
- Send a pull request from each feature branch
It is important to separate new features or improvements into separate feature branches, and to send a pull request for each branch.
All pull requests must adhere to the PSR-2 standard.
- PHP 5.4.0+
MIT Public License