我正在开发laravel 5.2框架,我正在维护和保护我们的代码。现在我面临一个问题。假设有一个这样的登录表单: -
<form id="userLoginForm" method="post" action="{{ url('/login') }}">{{csrf_field()}}
<label>Email: </label>
<input type="text" name="email" autocomplete="off" placeholder="Email" class="input-style" />
<label>Password: </label>
<input type="password" name="password" autocomplete="off" placeholder="Password" class="input-style" />
<input type="submit" class="green-btn-style" value="LOGIN" />
现在假设我按下键盘上的删除按钮,现在令牌已从我们的表单中删除。现在我提交表格时。它会告诉我Token不匹配的预期。但我不想向黑客或用户显示该错误。 我已经实现了isset但是没有工作。 我的登录代码: -
if(isset($data['email']) && isset($data['password']) && isset($data['_token']) && Auth::attempt(['email' => $data['email'],'password' => $data['password']])) {
//redirect to dashboard
}
任何人都可以帮我解决此问题。
答案 0 :(得分:0)
例外由文件处理
app/Exceptions/Handler.php
<\ n>在Laravel。您可以捕获Token Mismatch异常并执行所需的操作。示例代码为
use Illuminate\Session\TokenMismatchException;
要仅捕获Token Mismatch异常,您可以将其添加到渲染方法
if ($exception instanceof TokenMismatchException) {
return response()->view('errors.400', [], 400); // load any view of your choice
}