Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Security Laravel Package

salehye/laravel-security

View on GitHub
Deep Wiki
Context7

🔥 حزمة الأمان والحماية للaravel (Laravel Security Package)

نظرة عامة

حزمة أمان شاملة ومتقدمة لتطبيقات Laravel 12، توفر طبقة حماية كاملة ضد الثغرات والهجمات الإلكترونية الشائعة.

المميزات الرئيسية

🛡️ حماية المدخلات (Input Protection)

  • تنظيف تلقائي لجميع المدخلات (Sanitization)
  • منع هجمات XSS (Cross-Site Scripting)
  • كشف ومنع SQL Injection
  • Validation Rules مخصصة للبيانات الحساسة

🔐 إدارة الجلسات والمصادقة

  • حماية من Session Hijacking و Fixation
  • كشف المحاولات المشبوهة (أجهزة جديدة، مواقع جغرافية مختلفة)
  • إجبار إعادة المصادقة للعمليات الحساسة
  • دعم المصادقة الثنائية (2FA)

🚦 معدلات الحد الذكية (Advanced Rate Limiting)

  • Rate Limiting يعتمد على: المستخدم، IP، الـ Endpoint
  • Progressive Throttling (زيادة الصرامة مع تكرار المحاولات)
  • تكوين مرن لكل Route Group

🌐 رؤوس الأمان (Security Headers)

  • CSP (Content Security Policy)
  • HSTS (HTTP Strict Transport Security)
  • X-Frame-Options (منع Clickjacking)
  • X-Content-Type-Options (منع MIME Sniffing)

🔑 حماية API

  • توقيع الطلبات (Request Signing)
  • التحقق من Timestamp لمنع Replay Attacks
  • دعم API Token Scopes و Permissions

📊 التدقيق والسجلات (Audit Logging)

  • تسجيل تلقائي للأحداث الحساسة
  • دعم قنوات متعددة (Database, Slack, SIEM)
  • إمكانية تخصيص الأحداث المسجلة

التثبيت

# تثبيت الحزمة
composer require salehye/laravel-security

# نشر ملفات الإعدادات والـ Migrations
php artisan vendor:publish --provider="Salehye\LaravelSecurity\SecurityServiceProvider"

الإعدادات

بعد النشر، قم بتحرير ملف config/security.php لتخصيص إعدادات الحزمة:

return [
    // تفعيل/تعطيل الحزمة بالكامل
    'enabled' => env('SECURITY_ENABLED', true),
    
    // حماية المدخلات
    'input_protection' => [
        'enabled' => true,
        'auto_sanitize' => true,
    ],
    
    // الجدار الناري
    'firewall' => [
        'enabled' => true,
        'auto_block' => true,
        'threat_threshold' => 70,
    ],
    
    // معدلات الحد
    'rate_limiting' => [
        'enabled' => true,
        'progressive' => [
            'enabled' => true,
            'threshold' => 3,
        ],
    ],
];

الاستخدام

Middleware

تطبيق الحزمة تلقائي عند تفعيل auto_protect. يمكن أيضاً تطبيق Middleware يدوياً:

// في app/Http/Kernel.php أو bootstrap/app.php

protected $middlewareAliases = [
    'security.sanitize' => \Salehye\LaravelSecurity\Http\Middleware\SanitizeInputMiddleware::class,
    'security.rate' => \Salehye\LaravelSecurity\Http\Middleware\AdvancedRateLimitMiddleware::class,
    'security.headers' => \Salehye\LaravelSecurity\Http\Middleware\SecurityHeadersMiddleware::class,
];

Facade

استخدم Facade Security للوصول السهل لميزات الأمان:

use Salehye\LaravelSecurity\Facades\Security;

// تسجيل حدث أمان
Security::audit(auth()->user(), 'updated_settings', $request->all());

// حظر IP
Security::blockIp('192.168.1.1', 'هجوم Brute Force');

// التحقق من IP المحظور
if (Security::isBlocked($request->ip())) {
    abort(403, 'الوصول مرفوض');
}

// تنظيف المدخلات
$clean = Security::sanitize($request->all());

// كشف التهديدات
$threats = Security::detectThreats($request);

Validation Rules

use Salehye\LaravelSecurity\Rules\NoSqlInjectionRule;
use Salehye\LaravelSecurity\Rules\NoXssRule;
use Salehye\LaravelSecurity\Rules\PasswordStrengthRule;

public function rules(): array
{
    return [
        'username' => ['required', 'string', new NoSqlInjectionRule()],
        'comment' => ['required', 'string', new NoXssRule()],
        'password' => ['required', new PasswordStrengthRule()],
    ];
}

Audit Logging

use Salehye\LaravelSecurity\Facades\Security;

// تسجيل الأحداث
Security::log('user_login', auth()->user(), ['ip' => request()->ip()]);
Security::logFailedLogin($email, ['ip' => request()->ip()]);
Security::logSensitiveAction('password_change', auth()->user());

// استرجاع السجلات
$logs = Security::getLogs(event: 'login', limit: 100);

// تنظيف السجلات القديمة
Security::cleanOldLogs(90); // الاحتفاظ بـ 90 يوم

أوامر Console

# فحص أمني شامل
php artisan security:audit

# حظر IP
php artisan security:block 192.168.1.1 --reason="Brute force" --duration=24

# إلغاء حظر IP
php artisan security:unblock 192.168.1.1

# عرض تقرير أمني
php artisan security:report

# تنظيف السجلات القديمة
php artisan security:clean-logs --days=90

Helper Functions

الحزمة توفر دوال مساعدة للاستخدام السهل:

// تنظيف المدخلات
sanitize($request->all());

// التحقق من IP المحظور
is_ip_blocked($ip);

// حظر IP
block_ip($ip, 'السبب');

// تسجيل حدث أمان
audit_log('user_login', auth()->user());

// كشف التهديدات
detect_threats($request);

// توليد API Key
generate_api_key();

// التحقق من HTTPS
is_secure_request();

// الحصول على IP العميل
get_client_ip();

// التحقق من Bot
is_bot();

// إخفاء البريد الإلكتروني
mask_email('user@example.com'); // u**r@example.com

// إخفاء الهاتف
mask_phone('0512345678'); // ******5678

Traits

Auditable Trait

إضافة تدقيق تلقائي للموديلات:

use Salehye\LaravelSecurity\Traits\Auditable;

class User extends Model
{
    use Auditable;
    
    // حقول مستبعدة من التدقيق
    protected array $auditExclude = ['password'];
}

SecurityHelpers Trait

دوال مساعدة للأمان:

use Salehye\LaravelSecurity\Traits\SecurityHelpers;

class Controller extends Controller
{
    use SecurityHelpers;
    
    public function store(Request $request)
    {
        // توليد توكن آمن
        $token = $this->generateSecureToken();
        
        // التحقق من Bot
        if ($this->isBot()) {
            // تعامل مع البوتات
        }
        
        // التحقق من HTTPS
        $this->requireSecure();
    }
}

Events & Listeners

الحزمة تطلق أحداث للأحداث الأمنية:

// الأحداث
\Salehye\LaravelSecurity\Events\SuspiciousActivityDetected::class
\Salehye\LaravelSecurity\Events\UserBlocked::class
\Salehye\LaravelSecurity\Events\LoginAttemptFailed::class
\Salehye\LaravelSecurity\Events\RateLimitExceeded::class

الحماية التلقائية

عند تثبيت الحزمة، يتم تطبيق الحماية تلقائياً:

  1. Firewall Middleware - يضاف لـ web middleware group
  2. Input Sanitization - ينظف جميع المدخلات
  3. Security Headers - يضيف رؤوس الأمان
  4. API Protection - يحمي مسارات API

الأداء

الحزمة مصممة للأداء العالي:

  • Caching ذكي - لتقليل تأثير الأداء
  • Background Processing - للمهام غير الحرجة
  • Configurable - يمكن تعطيل الميزات غير المطلوبة

التوافق

  • ✅ Laravel 12.x
  • ✅ PHP 8.4+
  • ✅ PHP 8.3
  • ✅ PHP 8.2
  • ✅ InertiaJS
  • ✅ API

الترخيص

MIT License

الدعم

للأسئلة والمشاكل، يرجى فتح issue على GitHub.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui