imanghafoori / laravel-anypass
一个最小化但功能强大的包,帮助您在开发过程中。
Requires
- php: ^7.1.3|7.2.*|7.3.*|7.4.*|8.*
- laravel/framework: ~5.1|6.*|7.*|8.*|9.*|10.*|^11.0
Requires (Dev)
- imanghafoori/php-imports-analyzer: ^1.0.6
- laravel/legacy-factories: ^1.1
- orchestra/testbench: ^4.0|^5.0|^6.0|^9.0
README
专为每个“懒惰”的 Laravel 开发者用❤️打造 ;)
在开发过程中,总是痛苦地记住并输入正确的密码...
在本地环境中,能够使用任何密码登录会很好,只需要更改.env变量(不是应用程序代码),切换到:“真实密码检查”。
(这意味着当您将应用程序部署到生产环境时,您不需要更改应用程序代码,同时在本地环境中享受便捷。)
实际上,auth()->attempt($credentials);
的行为仅基于auth.php和.env文件中的配置变量!
性能影响
这个包只有几行代码(大约20行),几乎没有开销。
而且,完全不必要在生产环境中安装它,而无需更改代码。因为它是在您的composer.json文件中的开发仅依赖项。
"require-dev": { "imanghafoori/laravel-anypass": "dev-master", ... },
配置
为了避免意外的安全漏洞,在您可以使用任何密码登录之前,应该有3个条件匹配
在您的.env文件中,您必须
1 - APP_ENV=local // or APP_ENV=testing
2 - APP_DEBUG=true
3 - ANY_PASS=true
4 - WRONG_ANY_PASS=wrong // any password is correct except this one.
这样,在生产服务器上意外错误地配置应用程序以接受任何错误密码的可能性就非常小了。
我们强烈建议您查看源代码。
默认情况下,Anypass仅在APP_ENV
设置为local或testing时才会工作。您可以通过在.env文件中定义ANY_PASS_ENVIRONMENTS
来覆盖此行为,并设置其值为一个逗号分隔的环境字符串。例如
ANY_PASS=true
ANY_PASS_ENVIRONMENTS="local,testing,acceptance"
- 如果您想在本地检查登录表单的行为,以应对错误的密码,可以使用“1_Wrong_pass”字符串。(您可以使用小写或大写输入它,或者使用大小写混合,如“1_WrOnG_Pass”,它将被视为错误的密码。)
💓 注意
您无法使用无效的用户名或无效的API令牌登录。只有密码检查被绕过。
🔥 安装
composer require --dev imanghafoori/laravel-anypass
(对于laravel 5.4及以下版本:您可以在app/Providers/AppServiceProvider.php文件中,register()方法内添加以下代码,而不是在config/app.php文件中添加服务提供者,而不是添加以下代码到您的app/Providers/AppServiceProvider.php文件中,在register()方法内
public function register() { if ($this->app->environment() === 'local' || $this->app->environment() === 'testing') { $this->app->register(\Imanghafoori\AnyPass\AnyPassServiceProvider::class); } // ... }
❗ 安全
如果您发现任何安全相关的问题,请通过电子邮件imanghafoori1@gmail.com联系,而不是使用问题跟踪器。
⭐ 您的星星让我们做得更多 ⭐
一如既往,如果您觉得这个包很有用,并且想鼓励我们维护和改进它,请按下星星按钮,表明您的意愿。
作者的其他作品
Laravel Terminator
💎 一个最小化但功能强大的包,为您提供重构控制器的机会。
Laravel Widgetize
💎 一个最小化但功能强大的包,为您的Laravel应用程序提供更好的结构和缓存机会。
Laravel Master Pass
💎 一个简单的包,让您能够轻松地模仿用户。
Laravel HeyMan
💎 它允许您编写表达性和防御性的代码,这些代码与您的应用程序的其他部分解耦。