A PHP API for antispam service cleantalk.org. Invisible protection from spam, no captches, no puzzles, no animals and no math.
API uses several simple tests to stop spammers.
- Spam bots signatures.
- Blacklists checks by Email, IP, web-sites domain names.
- JavaScript availability.
- Relevance test for the comment.
API sends a comment's text and several previous approved comments to the servers. Servers evaluates the relevance of the comment's text on the topic, tests on spam and finaly provides a solution - to publish or put on manual moderation of comments. If a comment is placed on manual moderation, the plugin adds to the text of a comment explaining the reason for the ban server publishing.
- PHP 5.6 and above
- CURL support
You can unpack the archive with the plugin to the root of the site or install it using the composer
composer require cleantalk/php-antispam
<?php
session_start();
$apikey = 'your_cleantalk_api_key';
$email_field = 'name_email_form_field';
$user_name_field = 'name_user_name_form_field';
$message_field = 'name_message_form_field';
$type_form = 'contact'; // use 'signup' for user signup form
// if downloaded, unzip and include the app:
require_once 'php-antispam/cleantalk-antispam.php';
// if install the app by composer package:
use Cleantalk\CleantalkAntispam;
//require_once "lib/cleantalk-php-patch.php"; -- PHP-FPM
$cleantalk_antispam = new CleantalkAntispam($apikey, $email_field, $user_name_field, $message_field, $type_form);
$api_result = $cleantalk_antispam->handle();
?>
<form method="post">
<label for="login">Login:</label>
<input type="text" name="name_user_name_form_field" id="login" />
<br />
<label for="email">Email:</label>
<input type="text" name="name_email_form_field" id="email" value="" />
<br />
<label for="message">Message:</label>
<textarea name="name_message_form_field" id="message"></textarea>
<br />
<input type="submit" />
</form>
<?php $cleantalk_antispam->frontendScript(); ?>
API returns ($api_result
) PHP object:
- allow (0|1) - allow to publish or not, in other words spam or ham
- comment (string) - server comment for requests.
- id (string MD5 HEX hash) - unique request idenifier.
- errno (int) - error number. errno == 0 if requests successfull.
- errstr (string) - comment for error issue, errstr == null if requests successfull.
- account_status - 0 account disabled, 1 account enabled, -1 unknown status.
Universal solution for any CMS or custom website: https://github.com/CleanTalk/php-uni