Laravel保护功能免受"refresh"页面的影响



当我打开网页时,laravel通过我的自定义类和函数在我的手机上向我发送短信,但当我按F5或刷新网页时,是否可以阻止发送?

controller

public function index()
{
$phoneNumber = $user['mobile_phone'];
$smsMessage= $user['smsMessage'];
SendTextMessage::SendMessage($phoneNumber, $smsMessage);
return view('welcome');
}

如果您只在用户访问欢迎页面时发送消息,那么您可以在会话中设置一个标志,并检查会话值是否不存在,然后只发送消息。

use Session;
public function index()
{
if(!Session::has('message_sent')){
SendTextMessage::SendMessage($phoneNumber, $smsMessage);
Session::put('message_sent', true);
}

return view('welcome');
}

尝试:

public function index()
{
if(url()->previous()!=url()->current()){
SendTextMessage::SendMessage($phoneNumber, $smsMessage);
}

return view('welcome');
}

URL历史记录存储在会话中,因此它可以作为页面刷新的解决方案。

最新更新