PHP Classes

File: config/laraguard-ip.php

Recommend this page to a friend!
  Classes of Neeraj Saini   LaraGuard IP   config/laraguard-ip.php   Download  
File: config/laraguard-ip.php
Role: Configuration script
Content type: text/plain
Description: Configuration script
Class: LaraGuard IP
Block HTTP requests from spamming IP addresses
Author: By
Last change:
Date: 9 days ago
Size: 4,736 bytes
 

Contents

Class file image Download
<?php

/**
 * Laraguard-IP Configuration File
 * --------------------------------
 *
 * @version 1.0.0
 *
 * @author Neeraj Saini <hax-neeraj@outlook.com>
 * @license MIT License
 *
 * This configuration file controls how Laraguard-IP handles
 * IP and country-based access control, spam protection,
 * and IP blocklists.
 */

return [

   
/*
    |--------------------------------------------------------------------------
    | Enable Spam Protection
    |--------------------------------------------------------------------------
    |
    | If enabled, Laraguard-IP will fetch IPs from external sources (like
    | AbuseIPDB) and automatically block any incoming requests from blacklisted IPs.
    | Recommended for publicly exposed applications and APIs.
    |
    */

   
'laraguardip_spam_protection' => env('LARAGUARDIP_SPAM_PROTECTION', false),

   
/*
    |--------------------------------------------------------------------------
    | Whitelist Only Access
    |--------------------------------------------------------------------------
    |
    | If set to true, only IPs listed in 'whitelist_ips' will be allowed.
    | All other IPs will be denied access regardless of any other settings.
    | This provides strict access control based on IP.
    |
    */

   
'whitelist_only_access' => env('LARAGUARDIP_WHITELIST_ONLY', false),

   
/*
    |--------------------------------------------------------------------------
    | Country Whitelist Only
    |--------------------------------------------------------------------------
    |
    | If enabled, only visitors from the countries listed in 'country_whitelist'
    | will be allowed to access the application. All other countries will be blocked.
    | Requires GeoIP or IP-to-country detection service.
    |
    */

   
'country_whitelist_only' => env('LARAGUARDIP_COUNTRY_WHITELIST_ONLY', false),

   
/*
    |--------------------------------------------------------------------------
    | Whitelisted IPs
    |--------------------------------------------------------------------------
    |
    | Define all trusted IPs that should always be allowed access regardless
    | of blacklist or spam protection settings. Useful for developers, admins, etc.
    |
    */

   
'whitelist_ips' => [
       
'127.0.0.1', // Localhost IP
   
],

   
/*
    |--------------------------------------------------------------------------
    | Whitelisted Countries
    |--------------------------------------------------------------------------
    |
    | ISO Alpha-2 country codes (e.g., IN, US, UK). Requests from these countries
    | will be allowed only if 'country_whitelist_only' is set to true.
    |
    */

   
'country_whitelist' => [
       
'IN', // India
       
'US', // United States
   
],

   
/*
    |--------------------------------------------------------------------------
    | IP Blocklist Sources
    |--------------------------------------------------------------------------
    |
    | External sources (like AbuseIPDB mirrors) providing updated blocklists.
    | These IPs are considered malicious/spam and will be automatically blocked
    | when 'laraguardip_spam_protection' is enabled.
    |
    */

   
'sources' => [
       
// AbuseIPDB (14 Days)
       
'https://raw.githubusercontent.com/borestad/blocklist-abuseipdb/main/abuseipdb-s100-14d.ipv4',

       
// Optional 30 Days source
        // 'https://raw.githubusercontent.com/borestad/blocklist-abuseipdb/main/abuseipdb-s100-30d.ipv4',
   
],

   
/*
    |---------------------------------------------------------------------------
    | Storage Path
    |---------------------------------------------------------------------------
    |
    | This option defines the path where the Laraguard-IP blocklist data will
    | be stored. You can specify a custom path here, or leave it as the default
    | to store the data in the Laravel framework's cache directory.
    |
    | The default value is set to:
    | storage_path('framework/cache/laraguard-ip.json')
    |
    */

   
'path' => storage_path(
       
env('LARAGUARDIP_STORAGE_PATH', 'framework/cache/laraguard-ip.json')
    ),

   
/*
    |---------------------------------------------------------------------------
    | Data Compression
    |---------------------------------------------------------------------------
    |
    | This option allows you to enable or disable compression when storing the
    | blocklist data. By default, the blocklist data is compressed to save space
    | and improve performance when loading from storage.
    |
    | Set this to 'false' if you prefer not to compress the data. Default is true.
    |
    */

   
'compress' => env('LARAGUARDIP_STORAGE_COMPRESS', true),

];