All Projects → infinitypaul → laravel-password-history-validation

infinitypaul / laravel-password-history-validation

Licence: MIT license
Prevent users from reusing recently used passwords

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to laravel-password-history-validation

Passmaker
可以自定义规则的密码字典生成器,支持图形界面 A password-generator that base on the rules that you specified
Stars: ✭ 363 (+426.09%)
Mutual labels:  rules, password
Kaonashi
Wordlist, rules and masks from Kaonashi project (RootedCON 2019)
Stars: ✭ 353 (+411.59%)
Mutual labels:  rules, password
Rulette
A pragmatic business rule management system
Stars: ✭ 91 (+31.88%)
Mutual labels:  rules
A41SLBOT
All For One Bot is an open-source discord server bot built for All For One SL™ discord server.
Stars: ✭ 83 (+20.29%)
Mutual labels:  rules
react-login-registration
An example React / Redux / Redux Saga application talking to a Symfony 3 API
Stars: ✭ 31 (-55.07%)
Mutual labels:  password
ios-application
A native, lightweight and secure one-time-password (OTP) client built for iOS; Raivo OTP!
Stars: ✭ 581 (+742.03%)
Mutual labels:  password
flutter-password-strength
A password strength checker for flutter.
Stars: ✭ 18 (-73.91%)
Mutual labels:  password
react-native-passmeter
Simple password strength meter for React Native.
Stars: ✭ 46 (-33.33%)
Mutual labels:  password
mdmlang
🔄 Natural Transformation Language for Java
Stars: ✭ 14 (-79.71%)
Mutual labels:  rules
ad-password-self-service
基于Python 3.8 + Django 3.2的密码自助平台,AD用户自助修改密码,结合<钉钉>/<企业微信>扫码验证信息后用户可自行重置密码、解锁自己的账号。
Stars: ✭ 76 (+10.14%)
Mutual labels:  password
stupid-password
A library to prevent the use of easily guessed/bruteforced password and an alternative to Cracklib
Stars: ✭ 25 (-63.77%)
Mutual labels:  password
checkforce.js
💪 A library that helps to perform tasks to test strength of passwords
Stars: ✭ 18 (-73.91%)
Mutual labels:  password
cdkdx
Zero-config CLI for aws cdk development
Stars: ✭ 31 (-55.07%)
Mutual labels:  rules
IMAPLoginTester
A simple Python script that reads a text file with lots of e-mails and passwords, and tries to check if those credentials are valid by trying to login on IMAP servers.
Stars: ✭ 47 (-31.88%)
Mutual labels:  password
jquery.pwstrength
A jQuery plugin to indicate the strength of passwords
Stars: ✭ 22 (-68.12%)
Mutual labels:  password
Password Generator
🔄 Simple password generator class library in C# 6.0, use for generate your own password! 📗
Stars: ✭ 21 (-69.57%)
Mutual labels:  password
cracken
a fast password wordlist generator, Smartlist creation and password hybrid-mask analysis tool written in pure safe Rust
Stars: ✭ 192 (+178.26%)
Mutual labels:  password
precis i18n
Python3 implementation of PRECIS framework (RFC 8264, RFC 8265, RFC 8266)
Stars: ✭ 16 (-76.81%)
Mutual labels:  password
detection
Detection in the form of Yara, Snort and ClamAV signatures.
Stars: ✭ 70 (+1.45%)
Mutual labels:  rules
MBSPasswordView
Simple lock screen for iOS Application ( Swift 4+, iOS 11.0+)
Stars: ✭ 39 (-43.48%)
Mutual labels:  password

Laravel Password History Validation

Latest Version on Packagist Build Status Quality Score Total Downloads

Prevent users from reusing recently used passwords.

Installation

You can install the package via composer:

composer require infinitypaul/laravel-password-history-validation

Configuration

To get started, you'll need to publish the config file, and migrate the database:

php artisan vendor:publish --tag=password-config

Modify the config file according to your project, then migrate the database

php artisan migrate

Usage

This package will observe the created and updated event of the models (check the config file for settings) and records the password hashes automatically.

In Your Form Request or Inline Validation, All You Need To Do Is Instantiate The NotFromPasswordHistory class passing the current user as an argument

<?php
use Infinitypaul\LaravelPasswordHistoryValidation\Rules\NotFromPasswordHistory;

$this->validate($request, [
            'password' => [
                'required',
                new NotFromPasswordHistory($request->user())
            ]
        ]);

Cleaning Up Old Record - (Optional)

Because We Are Storing The Hashed Password In Your Database, Your Database Can Get Long When You Have Lots Of Users

Add PasswordHistoryTrait To Your User Model

<?php
use Infinitypaul\LaravelPasswordHistoryValidation\Traits\PasswordHistoryTrait;

class User extends Authenticatable
{
    use Notifiable, PasswordHistoryTrait;

}

Then You Can Run The Following Artisan Command

php artisan password-history:clear

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

How can I thank you?

Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!

Don't forget to follow me on twitter!

Thanks! Edward Paul.

License

The MIT License (MIT). Please see License File for more information.

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].