jord-jd/password_exposed
Laravel package to block compromised passwords using the Have I Been Pwned Pwned Passwords API. Adds easy validation rules and checks during registration or password changes, helping prevent users from choosing exposed credentials.
actions/checkout@v6.psr/cache v1/v2/v3, andpsr/http-message v1/v2rename() warnings by using a writable runtime cache directory and a file lock (issue #31)..gitattributes export-ignore rules (#40).divineomega/password_exposed to jord-jd/password_exposedreplace metadata for divineomega/password_exposed4.0-devsymfony/cache (see CVE-2019-18889).password_is_exposed and password_is_exposed_by_hash helper functions which return a boolean that represents if a password has been exposed in a data breach, or null in case of error.Special thanks to @nicklog for his work on this major release.
password_exposed_by_hash($hash) helper function to check if a password is exposed based on its SHA1 hash.passwordExposedByHash method to check for password exposure by SHA1 hash./tmp/ directory.function_exists check to fix psalm issues.getBundleFromCertainty() method.Client, PSR-6 CacheItemPool and Certainty Bundle.sodium extension installed) and/or the vendor directory is not writable.paragonie/certainty for validated SSL/TLS certificates.Thanks to @paragonie-scott for security improvements.
Thanks to @symm for the original idea. :)
hash_equals to compare partial hashes. This should help mitigate timing attacks.
This release also contains:
PasswordStatus::UNKNOWN will be returned.This release also includes:
password_protect method now returns enum values, rather than a boolean.This release also includes:
This release also includes:
How can I help you explore Laravel packages today?