是否可以使用js生成csrf token并使用php验证?

Is it possible to generate a csrf token using js and validate it using php?

在 php 项目中,我生成了一个 csrf 令牌,将其输入到 session 中,然后将其与 $_POST['token'] 请求进行比较。现在我需要这个功能 github.pages。我发现了如何使用 JS 来做同样的事情。但是我现在应该如何比较 php 配置中的这个参数?

<form class="" action="https://somewhere.com/form/form.php" method="POST" id="contact_form">
    <input type="text" name="name" value="">
    <input type="email" name="email" value="">
    <input type="hidden" name="token" value="">
    <a id="submitBtn" href="#"></a>
</form>
if($_POST['token']==?????){
//code
}

纯 JS 中是否有 bin2hex(random_bytes(32)) 函数的 php 模拟?

虽然这在技术上可能是可行的,但它并不安全,因为 csrf 令牌的意义在于您可以证明表单是由请求它的同一客户提交的。因此服务器为客户端提供一个秘密值,该值也加密存储在会话中。如果客户端发送了正确的值,则证明他们也请求了该页面。如果客户端(带 JavaScript)生成令牌,它不能证明任何东西。