darvis/livewire-injection-stopper 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

darvis/livewire-injection-stopper

最新稳定版本:v1.2.2

Composer 安装命令:

composer require darvis/livewire-injection-stopper

包简介

Laravel middleware package to block spam robots and injection attempts, with Livewire security audit tools

README 文档

README

Protect your Laravel + Livewire application from spam bots and security vulnerabilities.

Latest Version License

What does this package do?

This package protects your Laravel application in three ways:

1. 🛡️ Blocks Spam Bots

Automatically blocks automated spam bots (like Python scripts, curl, wget) from accessing your website. No more spam form submissions!

2. 🔍 Finds Security Holes in Livewire

Scans your Livewire components and tells you which properties attackers could manipulate. For example, if you have public $isAdmin = false, an attacker could change it to true in their browser!

3. 🔇 Silences Sentry Errors from Bot Attacks

When bots try to manipulate #[Locked] properties, Livewire throws a CannotUpdateLockedPropertyException. This package automatically catches these exceptions and prevents them from being reported to Sentry or other error tracking services, keeping your error logs clean.

Installation

composer require darvis/livewire-injection-stopper

That's it! The spam bot blocking is now active.

Check Your Security

Run this command to scan your Livewire components:

php artisan livewire-injection-stopper:audit

It will show you which properties need protection.

Example: Fixing a Security Issue

Before (Vulnerable):

class CheckoutComponent extends Component
{
    public $price = 100.00;  // ⚠️ Attacker can change this to $0.01!
}

After (Secure):

use Livewire\Attributes\Locked;

class CheckoutComponent extends Component
{
    #[Locked]  // ✅ Now protected!
    public $price = 100.00;
}

What Gets Blocked?

By default, these bots are blocked:

  • Python scripts (python-requests)
  • Command-line tools (curl, wget)
  • Web scrapers (scrapy)
  • Generic bots and crawlers

Real browsers and users are never blocked.

Configuration (Optional)

Want to customize? Publish the config file:

php artisan vendor:publish --tag=livewire-injection-stopper-config

Now you can:

  • Add or remove blocked bots
  • Block specific IP addresses
  • Whitelist certain routes (like webhooks)
  • Enable/disable Sentry error silencing

Sentry Error Silencing

By default, this package silences CannotUpdateLockedPropertyException errors that occur when bots try to manipulate #[Locked] Livewire properties. This keeps your Sentry error logs clean.

How it works:

  • When a bot tries to update a locked property, Livewire throws an exception
  • This package catches the exception and returns a 403 response
  • The exception is logged locally (if logging is enabled) but NOT sent to Sentry

To disable this feature:

// config/livewire-injection-stopper.php
'silence_locked_property_exceptions' => false,

Documentation

For detailed documentation, see the /docs folder:

Quick Links

Requirements

  • PHP 8.1+
  • Laravel 11.0 or 12.0
  • Livewire 3.0

License

MIT License - feel free to use in any project!

Credits

Created by Arvid de Jong

Need help? Check the documentation or email info@arvid.nl

统计信息

  • 总下载量: 80
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-03