我正在开发一款使用Laravel Breeze的应用程序.当我try 创建不安全的密码(已泄露/篡改的密码,如Password1!
)时,我收到以下验证错误消息:
给定的密码出现在数据泄露中.请 Select 其他密码.
在我看来,这一信息相当直截了当,但从最终用户的Angular 来看,我恐怕不是那么清楚.事实上,阅读这条消息的最终用户可能会想,我正在工作的网站上的数据是否被泄露了,并感觉正在访问的网站不安全,而这实际上是提供了额外的安全.这就是为什么我想要为如下内容定制我的消息:
给定的密码是网络上某个时候泄露的一部分.作为安全措施,我们已经阻止了它在本网站上的使用.
Technologies:个
- PHP 8.1
- ♪Laravel 10.10♪
- 拉威尔·微风1.21
What I have tried so far in my RegisteredUserController个
public function store(Request $request): RedirectResponse
{
$rules = [
[other rules],
'password' => ['required', 'confirmed', Password::min(8)->mixedCase()->letters()->numbers()->symbols()->uncompromised()],
];
$messages = [
'password.uncompromised' => '给定的密码是网络上某个时候泄露的一部分.作为安全措施,我们已经阻止了它在本网站上的使用.',
];
$this->validate($request, $rules, $messages);
Auth::login($user = User::create([
[other stuff]
'password' => Hash::make($request->password),
]));
event(new Registered($user));
Auth::login($user);
(new MyController)->store($request);
return redirect()->route('register_step_2');
}
What happens when I use the code above个
当我使用上面提供的代码时,默认的错误消息是传递到用户界面的内容,而不是我的自定义消息.