PHP令牌确认奇怪的事情

问题描述

在提交表单之前,我会像这样检查令牌是否匹配:

if (empty($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32));
  };

if($request->token==$_SESSION['token']){
  
  ..some code..

}else{

echo "Token confirmation error!";

}

HTML:

<input class="mt-1 mb-1" type="hidden" name="token" value="<?php if($_SESSION['token']){echo $_SESSION['token'];}else{echo '';}; ?>">

出于某种原因,else 总是被触发,尽管理论上应该在发送数据时进行检查。可能是什么问题?

UPD。此外,错误文本在页面顶部始终可见,尽管我使用 responseText(ajax request)bootstrap toasts 显示所有通知。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)