Shieldon\Firewall\Kernel
$ip
)string
$ip -
Adresse IP unique.void
Bloquer une adresse IP.
Exemple :
$kernel->ban('33.125.12.87');
string
Renvoie l'URL actuelle. Cette méthode équivaut à $_SERVER['REQUEST_URI']
.
Exemple :
echo $kernel->getCurrentUrl();
$type
)string
$type ""
managed | config | demovoid
Indique à Shieldon par quel type de gestion il est géré. Ce paramètre n'a d'effet que sur le panneau de configuration du pare-feu.
Exemple :
$kernel->managedBy('demo');
int
Exécute le processus de vérification.
Codes de réponse :
constant | valeur | raison |
---|---|---|
RESPONSE_DENY |
0 | Bloqué en permanence. |
RESPONSE_ALLOW |
1 | Autorisé. |
RESPONSE_TEMPORARILY_DENY |
2 | Bloqué temporairement et peut être débloqué en résolvant un Captcha. |
RESPONSE_LIMIT |
3 | Arrêté en raison d'une limite de session en ligne atteinte. |
Exemple :
$result = $kernel->run();
$key
, $closure
)string
$key -
Le nom d'identification de la fonction de fermeture.Closure
$closure -
La fonction de fermeture.void
Définit une fonction de fermeture.
Exemple :
$kernel->setClosure('www_authenticate', function() use ($authHandler, $authenticateList) {
$authHandler->set($authenticateList);
$authHandler->check();
});
$uriPath
)string
$uriPath -
Le composant de chemin d'accès d'un URI.void
Définit une URL à exclure de la protection.
Exemple :
$kernel->exclude('/firewall/panel');
$urls
)array
$urls -
La collection d'URLs.void
Définit les URLs à exclure de la protection.
Exemple :
$list = [
'/example/1',
'/wp-login.php',
];
$kernel->setExcludedUrls($list);
$logger
)ActionLogger
$logger -
Enregistre les journaux d'action pour les utilisateurs.void
Définit un enregistreur de journaux d'action.
Exemple :
$kernel->setLogger(
new \Shieldon\Firewall\Log\ActionLogger(
BOOTSTRAP_DIR . '/../tmp/shieldon'
)
);
$key
, $value
)string
$key -
Le nom de clé de la propriété.mixed
$value -
La valeur de la clé.void
Exemple :
$kernel->setProperty('time_unit_quota', [
's' => 4,
'm' => 20,
'h' => 60,
'd' => 240,
]);
Vous trouverez une explication des paramètres ici.
$settings
)array
$settings -
Les paramètres.void
Exemple :
$kernel->setProperties($settings);
$bool
)bool
$bool -
Définissez true pour activer le mode strict, false pour le désactiver.void
Exemple :
$kernel->setStrict(true);
$ip
)string
$ip -
Une adresse IP.void
Débloque une adresse IP.
Exemple :
$kernel->unban('33.33.33.33');
Shieldon\Firewall\Kernel\CaptchaTrait
$instance
)CaptchaInterface
$instance -
L'instance Captcha.void
Définit un Captcha. Pour des utilisations détaillées, veuillez consulter la section Captcha.
$kernel->setCaptcha(
new \Shieldon\Firewall\Captcha\Recaptcha([
'key' => '6LfkOaUUAAAAAH-AlTz3hRQ25SK8kZKb2hDRSwz9',
'secret' => '6LfkOaUUAAAAAJddZ6k-1j4hZC1rOqYZ9gLm0WQh',
'version' => 'v2',
'lang' => 'en',
])
);
bool
Renvoie le résultat des Captchas.
true
: Captcha résolu avec succès, false
sinon.
Exemple :
$result = $this->captchaResponsse();
void
Désactive tous les modules Captcha. Cette méthode est utilisée à des fins de test unitaire.
Shieldon\Firewall\Kernel\ComponentTrait
$instance
)ComponentProvider
$instance -
L'instance du composant.void
Définit un composant.
Exemple :
$kernel->setComponent(
new \Shieldon\Firewall\Component\UserAgent()
);
string
$name -
Le nom de classe du composant.void
| ComponentProvider
Récupère une instance de composant à partir du conteneur de composants.
Exemple :
$useragent = $kernel->getComponent('UserAgent');
void
Désactive tous les composants, même s'ils ont déjà été configurés.
Exemple :
$kernel->disableComponents();
Shieldon\Firewall\Kernel\DriverTrait
$driver
)DriverProvider
$driver -
Interroge les données du pilote que vous avez choisi.void
Exemple :
$dbLocation = APPPATH . 'cache/shieldon.sqlite3';
$pdoInstance = new \PDO('sqlite:' . $dbLocation);
$kernel->setDriver(
new \Shieldon\Firewall\Driver\SqliteDriver($pdoInstance)
);
$channel
)string
$channel -
Spécifie un canal.void
Exemple :
$kernel->setChannel('web_project');
void
Désactive la construction automatique de la base de données.
Exemple :
$kernel->disableDbBuilder();
Shieldon\Firewall\Kernel\FilterTrait
$settings
)array
$settings -
Paramètres des filtres.void
$kernel->setFilters([
'session' => true,
'cookie' => true,
'referer' => true,
'frequency' => true,
]);
$filterName
, $value
)string
$filterName -
Le nom du filtre.bool
$value -
True pour activer le filtre, sinon false.void
Exemple :
$kernel->setFilter('session', false);
$kernel->setFilter('cookie', false);
$kernel->setFilter('referer', true);
$kernel->setFilter('frequency', false);
Paramètres par défaut :
clé | type | valeur | description |
---|---|---|---|
session | bool | true | Vérifie la session créée par le pilote de session Shieldon. |
cookie | bool | false | Vérifie les cookies générés par JavaScript. |
referer | bool | true | Vérifie HTTP_REFERER . |
frequency | bool | true | Vérifie les paramètres time_unit_quota . |
Le filtre Cookie est défini par défaut sur false
, car vous devez afficher le snippet JavaScript sur vos pages Web. Le snippet généré par getJavascript()
générera un cookie via JavaScript.
Consultez getJavascript()
pour son utilisation.
void
Désactive tous les filtres, même s'ils ont déjà été configurés.
$kernel->disableFilters();
Shieldon\Firewall\IpTrait
$ip
)string
$ip -
Adresse IP.void
Définit une adresse IP.
Exemple :
// Voici un exemple pour capturer l'adresse IP réelle des visiteurs depuis CloudFlare.
$realIp = $_SERVER['HTTP_CF_CONNECTING_IP'];
// Si vous utilisez un service CDN sur votre site Web,
// assurez-vous de capturer l'adresse IP réelle des visiteurs, sinon ils seront bloqués.
$kernel->setIp($realIp);
string
Obtient l'IP actuellement définie.
Exemple :
$ip = $kernel->getIp();
$rdns
)string
$rdns -
Enregistrement DNS inversé pour cette adresse IP.void
Définit un enregistrement DNS inversé pour la vérification.
Exemple :
$kernel->setRdns('localhost');
string
Obtient le nom d'hôte résolu par IP.
$rdns = $kernel->getRdns();
Shieldon\Firewall\Kernel\MessengerTrait
$instance
)MessengerInterface
$instance -
L'instance du messager.void
Exemple :
$apiKey = '981441296:AAGCcgv_NETMdWQCBTaMOk_yoMfax5EV7YQ';
$channel = '@your_channel';
$telegramMessenger = new \Messenger\Telegram($apiKey, $channel);
$kernel->setMessenger($telegramMessenger);
Shieldon\Firewall\Kernel\TemplateTrait
$settings
)array
$settings -
Les paramètres de l'interface utilisateur du dialogue.void
Personnalise l'interface utilisateur du dialogue.
Exemple :
$settings = [
'lang' => 'en',
'background_image' => '',
'bg_color' => '#ffffff',
'header_bg_color' => '#212531',
'header_color' => '#ffffff',
'shadow_opacity' => '0.2',
];
$kernel->setDialog($settings);
ResponseInterface
Renvoie le résultat de la réponse.
Exemple :
$response = $kernel->respond();
$directory
)array
$directory -
Le répertoire où se trouvent les fichiers de modèle.void
Définit le répertoire du modèle frontend. Vous pouvez copier ces fichiers dans un répertoire et les modifier pour personnaliser l'apparence des dialogues.
Exemple :
$kernel->setTemplateDirectory(YOUR_DIRECTORY_PATH);
string
Affiche un extrait de code JavaScript dans vos pages Web.
Cet extrait génère un cookie dans le navigateur du client, puis nous vérifions le cookie pour identifier si le client est un robot ou non.
// Affichez cette variable dans votre modèle de page.
$jsCode = $kernel->getJavascript();
Shieldon\Firewall\Kernel\SessionTrait
$count
, $period
, $unique
)int
$count 1000
Le nombre d'utilisateurs en ligne. S'il est atteint, les utilisateurs seront en file d'attente.int
$period 300
La période de temps autorisant la navigation des utilisateurs. (unité : seconde)bool
$unique false
Autorise une seule session par adresse IP.void
Limite les sessions en ligne.
Exemple :
$kernel->limitSession(100, 300);
int
Obtient le nombre de personnes en ligne. Si limitSession est activé.
Exemple :
$count = $kernel->getSessionCount();