Sentry 2"发现用户匹配所有纯文本凭证,但散列凭证[密码]不匹配。"

时间:2014-05-13 13:25:06

标签: php laravel cartalyst-sentry

我在用户名匹配时收到此错误,但密码不是。如果您希望黑客发现他们使用正确的电子邮件地址登录并且可以继续猜测密码,那就更好了。

我想知道的是,当他们输入正确的地址但密码错误时,如何阻止此消息显示?

在我看来,我就是这个......

@if($errors->has('login'))
            <div class="alert alert-danger">{{ $errors->first('login', ':message') }}</div>
        @endif

我使用的是Sentry的默认配置,有什么我可以设置为false所以这条消息没有显示?我希望它能显示所有其他错误消息,而不是这个消息,因为它具有相当大的安全风险。

对此的任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

哨兵的文档(我会)建议在服务器端验证例程中使用try catch。 Sentry Documentation

专门捕获Cartalyst \ Sentry \ Users \ WrongPasswordException并设置您自己的错误消息

try
{
// Set login credentials
$credentials = array(
    'email'    => 'john.doe@example.com',
    'password' => 'test',
);

// Try to authenticate the user
$user = Sentry::authenticate($credentials, false);
}
catch (Cartalyst\Sentry\Users\WrongPasswordException $e)
{
 echo 'Wrong Login Info, try again.';
}