PHP code example of sokil / php-fraud-detect

1. Go to this page and download the library: Download sokil/php-fraud-detect library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

sokil / php-fraud-detect example snippets




$detector = new \Sokil\FraudDetector\Detector();
$detector
    // Configure unique user identifier like session id or track id or user ip.
    // This key defines scope of checking. It may limit check on concrete request, by session or globally
    // by user. So you can set key as concatenation of different parameters, e.g. $_SERVER['REQUEST_URE'] . session_id().
    ->setKey(session_id())
    // You can add few processors which execute different checks.
    // Processors may check request from proxy, existance of user in blacklist, etc.
    // This processor check if number of requests reached.
    ->declareProcessor('requestRate', function($processor, $detector) {
        /* @var $processor \Sokil\FraudDetector\Processor\RequestRateProcessor */
        /* @var $detector \Sokil\FraudDetector\Processor\Detector */
        $processor
            // Limit set as 5 requests for one second.
            // Collector used to store stat of requests
            ->setCollector($detector->createCollector(
                'memcached', // collector type
                'requestRate', // namespace
                5, // requests
                1, // time interval in seconds
                function($collector) {
                    /* @var $collector \Sokil\FraudDetector\Collector\MemcachedCollector */
                    $memcached = new \Memcached();
                    $memcached->addServer('127.0.0.1', 11211);
                    $collector->setStorage($memcached);
                }
            ));
    })
    ->onCheckPassed(function() use($status) {
        // do something on success request
    })
    ->onCheckFailed(function() use($status) {
        // do something if limits reached
        die('Request limits reached. Please, try again later');
    })
    ->check();



$detector = new \Sokil\FraudDetector\Detector();
$detector
    ->registerProcessorNamespace('\Acme\FraudDetecotor\Processor')
    ->declareProcessor('customProcessor', function($processor) {});