PHP code example of allyson / laravel-safe-mode
1. Go to this page and download the library: Download allyson/laravel-safe-mode 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/ */
allyson / laravel-safe-mode example snippets
return [
'enabled' => env('SAFE_MODE', true),
'force_on_production' => env('SAFE_MODE_FORCE_PRODUCTION', true),
'blocked_commands' => [
'migrate:fresh',
'migrate:refresh',
'migrate:reset',
'db:wipe',
'down',
],
'audit_connection' => env('SAFE_MODE_AUDIT_CONNECTION'),
'allowed_ips' => array_filter(explode(',', env('SAFE_MODE_ALLOWED_IPS', ''))),
'webhook' => [
'enabled' => env('SAFE_MODE_WEBHOOK_ENABLED', false),
'channel' => env('SAFE_MODE_WEBHOOK_CHANNEL', 'generic'),
'url' => env('SAFE_MODE_WEBHOOK_URL'),
],
];
// config/safe-mode.php
'blocked_commands' => [
'migrate:fresh',
'migrate:refresh',
'migrate:reset',
'db:wipe',
'down',
// adicione seus próprios:
'meu-comando:perigoso',
],
bash
# Rodado em produção por engano → dados PERDIDOS
php artisan migrate:fresh
php artisan migrate:refresh
php artisan db:wipe
bash
php artisan safe-mode:install
laravel-safe-mode/
├── src/
│ ├── SafeModeServiceProvider.php
│ ├── Config/
│ │ └── safe-mode.php
│ ├── Console/
│ │ └── InstallCommand.php
│ ├── Exceptions/
│ │ ├── UnsafeCommandException.php
│ │ └── AuditConnectionException.php
│ ├── Models/
│ │ └── SafeModeAudit.php
│ ├── Services/
│ │ ├── SafeModeService.php
│ │ ├── ConnectionInspector.php
│ │ ├── AuditService.php
│ │ └── WebhookNotifier.php
│ └── Support/
│ └── LocalIpDetector.php
├── database/
│ └── migrations/
│ └── 2025_01_01_000000_create_safe_mode_audits_table.php
├── composer.json
└── README.md
code
laravel-safe-mode/
├── composer.json
├── README.md
├── database/migrations/
│ └── 2025_01_01_000000_create_safe_mode_audits_table.php
└── src/
├── SafeModeServiceProvider.php
├── Config/safe-mode.php
├── Console/InstallCommand.php
├── Exceptions/
│ ├── UnsafeCommandException.php
│ └── AuditConnectionException.php
├── Models/SafeModeAudit.php
├── Services/
│ ├── SafeModeService.php ← orquestrador principal
│ ├── ConnectionInspector.php ← detecta se host é local/remoto
│ ├── AuditService.php ← salva registros + dispara webhook
│ └── WebhookNotifier.php ← Slack / Discord / HTTP genérico
└── Support/LocalIpDetector.php ← RFC 1918 + resolução de hostnames