ariarijp/cassowary

简单的速率限制防火墙。

安装: 21

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 0

类型:防火墙

dev-master 2016-05-11 14:10 UTC

This package is auto-updated.

Last update: 2024-09-23 11:59:37 UTC


README

简单的速率限制防火墙。

要求

PHP 5.5+ 和 APCu 扩展或 phpredis 扩展 2.2+ 是必需的。

安装

将这些行添加到您的 composer.json 文件中。

"require": {
    "ariarijp/cassowary": "dev-master"
}

使用方法

使用 RedisAdapter

<?php

require_once __DIR__.'/vendor/autoload.php';

define('CASSOWARY_THRESHOLD', 20);

Cassowary\Adapter\RedisAdapter::init([
    'host' => 'localhost',
    'port' => 6379,
    'prefix' => 'cassowary_',
    'index' => 9,
    'ttl' => 10,
]);

Cassowary\Cassowary::kick(CASSOWARY_THRESHOLD, $_SERVER['REMOTE_ADDR'], Cassowary\Adapter\RedisAdapter::class, function($host) {
    error_log($host. ' added to blacklist.');
}, function($host, $count) {
    header('HTTP/1.1 403 Forbidden');
    exit;
});

使用 ApcuAdapter

<?php

require_once __DIR__.'/vendor/autoload.php';

define('CASSOWARY_THRESHOLD', 20);

Cassowary\Adapter\ApcuAdapter::init([
    'prefix' => 'cassowary_',
    'ttl' => 10,
]);

Cassowary\Cassowary::kick(CASSOWARY_THRESHOLD, $_SERVER['REMOTE_ADDR'], Cassowary\Adapter\ApcuAdapter::class, function($host) {
    error_log($host. ' added to blacklist.');
}, function($host, $count) {
    header('HTTP/1.1 403 Forbidden');
    exit;
});

许可证

MIT

作者

ariarijp