All Projects → rollerworks → Passwordstrengthvalidator

rollerworks / Passwordstrengthvalidator

Licence: mit
Password-strength validator for Symfony

Projects that are alternatives of or similar to Passwordstrengthvalidator

Passwordstrengthbundle
Symfony Password strength and blacklisting validator bundle
Stars: ✭ 123 (+25.51%)
Mutual labels:  symfony, password-strength
Validator
The Validator component provides tools to validate values following the JSR-303 Bean Validation specification.
Stars: ✭ 2,238 (+2183.67%)
Mutual labels:  validator, symfony
ATGValidator
iOS validation framework with form validation support
Stars: ✭ 51 (-47.96%)
Mutual labels:  validator, password-strength
Marketing
The symfony.com content
Stars: ✭ 87 (-11.22%)
Mutual labels:  symfony
Syliuselasticsearchplugin
Elasticsearch integration for Sylius apps.
Stars: ✭ 88 (-10.2%)
Mutual labels:  symfony
Event Store Symfony Bundle
Event Store Symfony Bundle
Stars: ✭ 93 (-5.1%)
Mutual labels:  symfony
Polyfill
PHP polyfills
Stars: ✭ 1,333 (+1260.2%)
Mutual labels:  symfony
Platform
Shopware 6 is an open source eCommerce platform realised by the ideas and the spirit of its community.
Stars: ✭ 1,267 (+1192.86%)
Mutual labels:  symfony
Easy Security Bundle
EasySecurityBundle
Stars: ✭ 95 (-3.06%)
Mutual labels:  symfony
Whiteoctobertcpdfbundle
A bundle to facilitate using TCPDF for PDF generation in Symfony applications
Stars: ✭ 91 (-7.14%)
Mutual labels:  symfony
Docker Symfony
🐳 A docker multicontainer with NGINX, PHP7-FPM, MySQL and ELK (Elasticsearch Logstash and Kibana)
Stars: ✭ 1,305 (+1231.63%)
Mutual labels:  symfony
Rymfony
A work-in-progress CLI tool built in Rust to mimic the Symfony CLI binary
Stars: ✭ 89 (-9.18%)
Mutual labels:  symfony
Polyfill Php54
This component provides functions unavailable in releases prior to PHP 5.4.
Stars: ✭ 93 (-5.1%)
Mutual labels:  symfony
Web Server Bundle
WebServerBundle provides commands for running applications using the PHP built-in web server. It simplifies your local development setup because you don't have to configure a proper web server such as Apache or Nginx to run your application.
Stars: ✭ 1,281 (+1207.14%)
Mutual labels:  symfony
Rox
🌍 BeWelcome lets you share a place to stay, connect with travellers, meet up and find accommodation on your journey. It is and will always be a free, open source, non for profit, democratic community.
Stars: ✭ 95 (-3.06%)
Mutual labels:  symfony
Connect
The SymfonyConnect official API SDK
Stars: ✭ 86 (-12.24%)
Mutual labels:  symfony
Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-4.08%)
Mutual labels:  symfony
Symfony 3 Rest Api Example
Symfony 3 RESTful API Example
Stars: ✭ 90 (-8.16%)
Mutual labels:  symfony
Service Bus Symfony Bundle
Symfony Bundle - PHP Lightweight Message Bus supporting CQRS
Stars: ✭ 90 (-8.16%)
Mutual labels:  symfony
Ngx Dynamic Form Builder
FormBuilder + class-transformer + class-validator = dynamic form group builder for Angular10+
Stars: ✭ 93 (-5.1%)
Mutual labels:  validator

RollerworksPasswordStrength Validator

This package provides various password strength validators for the Symfony Validator component.

To use this bundle with a Symfony application use the RollerworksPasswordStrengthBundle.

Passwords can be validated using either strength-levels (weak, medium, strong etc) or by configuring explicit requirements (needs letters, numbers etc).

This library provides the same level of functionality as the PasswordStrengthBundle created by John Bafford.

Installation

To install this package, add rollerworks/password-strength-validator to your composer.json:

$ php composer.phar require rollerworks/password-strength-validator

Now, Composer will automatically download all required files, and install them for you.

Requirements

You need at least PHP 5.6 or PHP 7.0, mbstring is recommended but not required. For the provided blacklist providers you may need SQLite3 or PDO compatible driver.

Basic Usage

Caution:

The password validators do not enforce that the field must have a value! To make a field "required" use the NotBlank constraint in combination with the password validator(s).

All examples assume you have the Composer autoloader already in your code, see also How to Install and Use the Symfony Components for more information.

Strength validation

Validates the passwords strength-level (weak, medium, strong etc).

Requirements validation

Validates the passwords using explicitly configured requirements (letters, caseDiff, numbers, requireSpecialCharacter).

Password blacklisting

There are times you want forbid (blacklist) a password from usage.

Passwords are blacklisted using providers which can either be an array or (flat-file) database (which you can update regularly).

With the default installation the following providers can be used.

  • Noop: Default provider, does nothing.

  • Array: Simple in memory blacklist provider (not recommended for big lists)

  • Sqlite: Provides the blacklist using a SQLite3 database file.

  • Pdo: Provides the blacklist using the PDO extension.

But building your own is also possible. Documentation on this is currently missing, see current providers for more information.

PwnedPassword

Validates that the requested password was not found in a trove of compromised passwords found at https://haveibeenpwned.com/.

To enable this you must install the suggested package "guzzlehttp/psr7" as well as a HttpClient such as "php-http/guzzle6-adapter".

Versioning

For transparency and insight into the release cycle, and for striving to maintain backward compatibility, this package is maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit http://semver.org/.

License

This library is released under the MIT license.

Contributing

This is an open source project. If you'd like to contribute, please read the Contributing Guidelines. If you're submitting a pull request, please follow the guidelines in the Submitting a Patch section.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].