Download the PHP package wilfreedi/laravel-site-protection without Composer

On this page you can find all versions of the php package wilfreedi/laravel-site-protection. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-site-protection

Laravel Site Protection

Packagist Downloads Packagist Version

Базовая защита сайта на laravel

Простоя защита сайта на laravel

Возможности 1) Установить лимит на кол-во заходов пользователя за n времени 2) Установить лимит на кол-во заходов пользователя на старницу 404 3) Идентификация ботов по useragent

При достижении лимитов или идентификации бота, происходит редирект на страницу проверки с капчей, после успешной прохождении капчи, ip адрес заносится в белый список на 1 час

Установка

Добавление middleware

Добавить middleware в app/Http/Kernel.php или на конкретный маршрут

Проверка работы JS у пользователя

1) Включаем в настройках проверку JS js.check = true 2) Генерируем рандомный ключ AES-128 (длина 16 байт) и добавляем его в js.key, он будет использоваться для шифрования передаваемых данных с JS на сервер
3) Выводим сгенерированный ключ в шапке сайта <meta name="protection-key" content="{{ config('siteprotection.js.key') }}"> 4) Подключаем JS скрипт проверки <script defer="defer" type="application/javascript" src="{{ asset('site-protection/js/script.js') }}"></script>(JS скрипт нужно опубликовать у себя, через команду публикации файла настроек)

Публикация файла настроек

php artisan vendor:publish --provider="Wilfreedi\SiteProtection\SiteProtectionServiceProvider"

Что входит в настройки

Ключ Тип Значение Что делает
enabled bool true/false включение защиты сайта
theme_color string white/black цвет темы на странице проверки капчи
description string <p>Мы заме..</p> текст, выводится на странице капчи
js.check bool true/false проверка, что js включен
js.key string 1234567890abcdef ключ для шифрования передаваемых данных через js на сервер, AES-128 (длина 16 байт)
captcha.provider string recaptcha/yandex сервис капчи
bots.enabled_all bool true/false включение отправки на капчу всех, у кого в useragent есть вхождение - bot
bots.blocked array ['Bytespider'...] название ботов для блокировки
bots.allowed array ['Yandexbot'...] название ботов, которых пропускам(в случа если включен bots.enabled_all, но нужно пропустить ботов, например яндекс)
rate_limiting.max_requests int 5 максимальное кол-во запросов
rate_limiting.time int 1 за какое время (секунды)
404_protection.max_404_errors int 5 максимальное кол-во ответов 404
404_protection.time int 15 за какое время (секунды)
exclude_paths array ['panel'...] список страниц, которые нужно исключить из защиты

Рекомендации

Сохранение текущего состояния пользователя(кол-во заходов, черный/белый список) находится в кэше
Рекомендуется установить кеширование в redis

Сообщить о проблеме

Если вы обнаружите ошибку или у вас есть предложения по улучшению библиотеки, пожалуйста напишите нам


All versions of laravel-site-protection with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
guzzlehttp/guzzle Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package wilfreedi/laravel-site-protection contains the following files

Loading the files please wait ....