もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

laravelのパスワードバリデーションのuncompromisedを初めて知った

はじめに

こんばんは。

恥ずかしながらシリーズで laravelのパスワードバリデーションの uncompromised を初めて知りました...

readouble.com

本題

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rules\Password;

class StoreUserRequest extends FormRequest
{
    protected function rules()
    {
        return [
            'password' => [
                'required',
                 Password::min(8)->uncompromised(), ← これ
            ],
        ];
    }
}

このバリデーションはAPIを使って以下のサイトでパスワードの漏洩をチェックしています。

haveibeenpwned.com

コードはこちら

github.com

自分が試してみたパスワードでは漏洩は検知されなかったですが、簡単なパスワード「1111」とかでやると引っかかりました。

終わりに

こんな面白いバリデーションあるんですね...

知らなかった。

現場からは以上です。