commit
671e9f6cad
|
|
@ -0,0 +1,18 @@
|
|||
filter:
|
||||
excluded_paths: [tests/*]
|
||||
|
||||
checks:
|
||||
php:
|
||||
remove_extra_empty_lines: true
|
||||
remove_php_closing_tag: true
|
||||
remove_trailing_whitespace: true
|
||||
fix_use_statements:
|
||||
remove_unused: true
|
||||
preserve_multiple: false
|
||||
preserve_blanklines: true
|
||||
order_alphabetically: true
|
||||
fix_php_opening_tag: true
|
||||
fix_linefeed: true
|
||||
fix_line_ending: true
|
||||
fix_identation_4spaces: true
|
||||
fix_doc_comments: true
|
||||
13
.travis.yml
13
.travis.yml
|
|
@ -1,12 +1,13 @@
|
|||
language: php
|
||||
|
||||
before_install:
|
||||
sudo: false
|
||||
|
||||
before_script:
|
||||
- travis_retry composer self-update
|
||||
- composer require "illuminate/support:${ILLUMINATE_VERSION}" --no-update
|
||||
- travis_retry composer require "illuminate/support:${ILLUMINATE_VERSION}"
|
||||
|
||||
install: composer update --prefer-source --no-interaction --dev
|
||||
|
||||
script: composer test
|
||||
script:
|
||||
- phpunit
|
||||
|
||||
matrix:
|
||||
include:
|
||||
|
|
@ -20,5 +21,7 @@ matrix:
|
|||
env: ILLUMINATE_VERSION=5.5.*
|
||||
- php: 7.1
|
||||
env: ILLUMINATE_VERSION=5.6.*
|
||||
- php: 7.2
|
||||
env: ILLUMINATE_VERSION=5.6.*
|
||||
- php: nightly
|
||||
env: ILLUMINATE_VERSION=5.6.*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Marcus Olsson <contact@marcusolsson.me>
|
||||
Copyright (c) 2018 Marcus Olsson <contact@marcusolsson.me>
|
||||
|
||||
> Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
> of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
32
README.md
32
README.md
|
|
@ -4,6 +4,9 @@
|
|||
[![Total downloads][ico-downloads]][link-packagist]
|
||||
[![Software License][ico-license]](LICENSE.md)
|
||||
[![Build Status][ico-travis]][link-travis]
|
||||
[![Scrutinizer Score][ico-scrutinizer]][link-scrutinizer]
|
||||
|
||||

|
||||
|
||||
A simple implementation of zxcvbn for Laravel 5. This package allows you to access "zxcvbn-related" data on a passphrase in the application and also to use zxcvbn as a standard validator.
|
||||
|
||||
|
|
@ -13,13 +16,13 @@ Uses [Zxcvbn-PHP](https://github.com/bjeavons/zxcvbn-php) by [@bjeavons](https:/
|
|||
|
||||
Via Composer
|
||||
|
||||
``` bash
|
||||
```bash
|
||||
$ composer require olssonm/l5-zxcvbn
|
||||
```
|
||||
|
||||
Add the package to your providers array:
|
||||
|
||||
``` php
|
||||
```php
|
||||
'providers' => [
|
||||
Olssonm\Zxcvbn\ZxcvbnServiceProvider::class,
|
||||
]
|
||||
|
|
@ -27,7 +30,7 @@ Add the package to your providers array:
|
|||
|
||||
If you wish to have the ability to use `Zxcvbn` via dependency injection, or just have a quick way to access the class – add an alias to the facades:
|
||||
|
||||
``` php
|
||||
```php
|
||||
'aliases' => [
|
||||
'Zxcvbn' => Olssonm\Zxcvbn\Facades\Zxcvbn::class
|
||||
]
|
||||
|
|
@ -39,7 +42,7 @@ If you've added `Olssonm\Zxcvbn` as an alias, your can access Zxcvbn easily from
|
|||
|
||||
### "In app"
|
||||
|
||||
``` php
|
||||
```php
|
||||
<?php
|
||||
|
||||
use Zxcvbn;
|
||||
|
|
@ -80,7 +83,7 @@ The package gives you two different validation rules that you may use; `zxcvbn_m
|
|||
|
||||
**Example**
|
||||
|
||||
``` php
|
||||
```php
|
||||
<?php
|
||||
$data = ['password' => 'password'];
|
||||
$validator = Validator::make($data, [
|
||||
|
|
@ -102,7 +105,7 @@ This is a bit more interesting. `zxcvbn_dictionary` allows you to input both the
|
|||
|
||||
**Example**
|
||||
|
||||
``` php
|
||||
```php
|
||||
<?php
|
||||
/**
|
||||
* Example 1, pass
|
||||
|
|
@ -137,25 +140,34 @@ This is a bit more interesting. `zxcvbn_dictionary` allows you to input both the
|
|||
|
||||
## Testing
|
||||
|
||||
``` bash
|
||||
```bash
|
||||
$ composer test
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
``` bash
|
||||
```bash
|
||||
$ phpunit
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
|
||||
The MIT License (MIT). Please see the [License File](LICENSE.md) for more information.
|
||||
|
||||
© 2017 [Marcus Olsson](https://marcusolsson.me).
|
||||
© 2018 [Marcus Olsson](https://marcusolsson.me).
|
||||
|
||||
[ico-version]: https://img.shields.io/packagist/v/olssonm/l5-zxcvbn.svg?style=flat-square
|
||||
|
||||
[ico-downloads]: https://img.shields.io/packagist/dt/olssonm/l5-zxcvbn.svg?style=flat-square
|
||||
|
||||
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
|
||||
|
||||
[ico-travis]: https://img.shields.io/travis/olssonm/l5-zxcvbn/master.svg?style=flat-square
|
||||
|
||||
[ico-scrutinizer]: https://img.shields.io/scrutinizer/g/olssonm/l5-zxcvbn.svg?style=flat-square
|
||||
|
||||
[link-packagist]: https://packagist.org/packages/olssonm/l5-zxcvbn
|
||||
|
||||
[link-travis]: https://travis-ci.org/olssonm/l5-zxcvbn
|
||||
|
||||
[link-scrutinizer]: https://scrutinizer-ci.com/g/olssonm/l5-zxcvbn
|
||||
|
|
|
|||
|
|
@ -18,19 +18,19 @@ class ZxcvbnServiceProvider extends ServiceProvider
|
|||
/**
|
||||
* Extend the Laravel Validator with the "zxcvbn_min" rule
|
||||
*/
|
||||
Validator::extend('zxcvbn_min', function($attribute, $value, $parameters, $validator) {
|
||||
Validator::extend('zxcvbn_min', function($attribute, $value, $parameters) {
|
||||
$zxcvbn = new ZxcvbnPhp();
|
||||
$zxcvbn = $zxcvbn->passwordStrength($value);
|
||||
$target = 5;
|
||||
|
||||
if(isset($parameters[0])) {
|
||||
if (isset($parameters[0])) {
|
||||
$target = $parameters[0];
|
||||
}
|
||||
|
||||
return ($zxcvbn['score'] >= $target);
|
||||
}, 'Your :attribute is not secure enough.');
|
||||
|
||||
Validator::replacer('zxcvbn_min', function($message, $attribute, $rule, $parameters) {
|
||||
Validator::replacer('zxcvbn_min', function($message, $attribute) {
|
||||
$message = str_replace(':attribute', $attribute, $message);
|
||||
return $message;
|
||||
});
|
||||
|
|
@ -38,11 +38,11 @@ class ZxcvbnServiceProvider extends ServiceProvider
|
|||
/**
|
||||
* Extend the Laravel Validator with the "zxcvbn_min" rule
|
||||
*/
|
||||
Validator::extend('zxcvbn_dictionary', function($attribute, $value, $parameters, $validator) {
|
||||
Validator::extend('zxcvbn_dictionary', function($attribute, $value, $parameters) {
|
||||
$email = null;
|
||||
$username = null;
|
||||
|
||||
if(isset($parameters[0])) {
|
||||
if (isset($parameters[0])) {
|
||||
$email = $parameters[0];
|
||||
$username = $parameters[1];
|
||||
}
|
||||
|
|
@ -50,9 +50,9 @@ class ZxcvbnServiceProvider extends ServiceProvider
|
|||
$zxcvbn = new ZxcvbnPhp();
|
||||
$zxcvbn = $zxcvbn->passwordStrength($value, [$username, $email]);
|
||||
|
||||
if(isset($zxcvbn['match_sequence'][0])) {
|
||||
if (isset($zxcvbn['match_sequence'][0])) {
|
||||
$dictionary = $zxcvbn['match_sequence'][0];
|
||||
if(isset($dictionary->dictionaryName)) {
|
||||
if (isset($dictionary->dictionaryName)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -61,7 +61,7 @@ class ZxcvbnServiceProvider extends ServiceProvider
|
|||
|
||||
}, 'Your :attribute is insecure. It either matches a commonly used password, or you have used a similar username/password combination.');
|
||||
|
||||
Validator::replacer('zxcvbn_dictionary', function($message, $attribute, $rule, $parameters) {
|
||||
Validator::replacer('zxcvbn_dictionary', function($message, $attribute) {
|
||||
$message = str_replace(':attribute', $attribute, $message);
|
||||
return $message;
|
||||
});
|
||||
|
|
@ -74,7 +74,7 @@ class ZxcvbnServiceProvider extends ServiceProvider
|
|||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->app->bind('zxcvbn', function ($app) {
|
||||
$this->app->bind('zxcvbn', function($app) {
|
||||
return new ZxcvbnPhp();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue