Download the PHP package effectix/passwordchecker without Composer
On this page you can find all versions of the php package effectix/passwordchecker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download effectix/passwordchecker
More information about effectix/passwordchecker
Files in effectix/passwordchecker
Package passwordchecker
Short Description A Laravel package for robust password strength validation.
License MIT
Homepage https://github.com/Effectix/passwordchecker
Informations about the package passwordchecker
Password Checker
This is an opinionated strength check intended for password validation in registration forms. Take a look at contributing.md to see how to do so.
Things taken into account for the scoring:
- Common Patterns
- Length
- Character Variety
- Entropy of the string (based on Shannon's Entropy formula)
The common patterns verification uses a set of included .txt files with common plain text terms, words and phrases that have already been compromised on earlier breaches. This is the most penalizing factor in the scoring as if your string has a full match with any of these values, you get instant -100 on the score and go into negative territory.
This is done on purpose to prevent users from creating accounts with already known weak passwords that have been distributed in a very common wordlist for pentesting purposes.
The other factors add to the scoring based on their respective weights, so the higher the score, the stronger the password.
⚠ The scoring is still being tweaked and played with so future versions of this package will have a different scoring for sure, but for now, it works as intended.
Installation
Via Composer
Configuration
Run artisan vendor:publish --provider="Effectix\PasswordChecker\PasswordCheckerServiceProvider"
to publish everything this package offers:
- Password score Validation rule
- Locale files for
es
anden
- Config file
Alternatively, you can publish the config file only:
Run artisan vendor:publish --tag=passwordchecker.config
to publish the config file.
Usage
You can apply it as a validation rule like this:
On your validation logic, call the Effectix\PasswordChecker\Rules\PasswordScoreRule
rule class and pass the score threshold you want to enforce on that validation.
If you run artisan vendor:publish --tag=passwordchecker.config
you will get a config file where you can manage a default score threshold for all your uses of this rule, without specifying it in each validation usage.
⚠ Explicit score threshold specification takes precedence over the configuration default.
Included Password Strength Bar Livewire component
The livewire component has been tested so far to work with Livewire v3 on a site using a Volt registration form. More tests and use cases to come later.
The score property is reactive, so it might cause some issues in some implementations. Maybe. I'm not totally certain.
So long as you can pass the score to the component you should have no problems. Use it in your registration form like this:
Your parent livewire component if you are using volt, should contain something like this:
This will evaluate the score everytime the debounced update to the password model is hit. The reactive property of the child component will pick up the new score and show the bar accordingly.
Change log
Please see the changelog for more information on what has changed recently.
Testing
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Jorge Morales
- All Contributors
License
AGPL. Please see the license file for more information.
All versions of passwordchecker with dependencies
illuminate/support Version ~10|~11
livewire/livewire Version ^2.0|^3.0