简单的后端生成令牌,前端获取,然后ajax设置header标头,后端进行对比

devtools/2024/10/18 19:23:23/

在 Web 应用中实现令牌失效(Token Expiration)通常涉及到两个方面:客户端的令牌使用和服务器端的令牌验证

<html><meta http-equiv="content-type" content="text/html;charset=UTF-8"/><title>javascript设置自定义的标头获取数据</title><body><?php //生成令牌,这里是直接写在这里做测试,你也可以单独写成函数或类,要用时再调用session_start();if(empty($_SESSION['csrf_token'])){$_SESSION['csrf_token']=bin2hex(random_bytes(32));}?>//发送header头的按钮<button id="sendRequest">发送标头</button><script type="text/javascript">document.getElementById("sendRequest").addEventListener("click",function(){let xhr=new XMLHttpRequest();//获取到session中的令牌信息,这一句在只php为后缀的页面中才能有效,不能用html为后缀let csrfToken = <?php echo json_encode($_SESSION['csrf_token']); ?>;console.log(csrfToken);//后端处理令牌信息和比对xhr.open('get',"headerapi.php");//设置标头,把令牌信息设置到标头中,然后发送到后端,对比也是在后端xhr.setRequestHeader('X-Custom-Header',csrfToken);xhr.responseType="json";//加载xhr,监控数据和标头是否被发送xhr.onload=function(){if(xhr.status>=200 && xhr.status<300){console.log('Request Data:',xhr.response);//获取标头信息,这里获取标头只是演式令牌和标头令牌是否一致let customresponseHeader=xhr.getResponseHeader("X-Custom-Response-Header");let Ref=xhr.getAllResponseHeaders();if(csrfToken===customresponseHeader){console.log('当前的标头:',customresponseHeader);}}else{console.error('获取失败:',xhr.status);}};xhr.onerror=function(){console.log('连接时失败');};xhr.send();})</script></body>
</html>

http://www.ppmy.cn/devtools/91044.html

相关文章

Spring Boot整合swagger

你可能尝试过写完一个接口后&#xff0c;自己去创建接口文档&#xff0c;或者修改接口后修改接口文档。多了之后&#xff0c;你肯定会发生一个操作&#xff0c;那就是忘记了修改文档或者创建文档&#xff08;除非你们公司把接口文档和写接口要求得很紧密&#x1f613;忘记写文档…

linux docker 仓库拉取失败问题(已解决)

仓库拉取失败问题 前言错误示例解决注意 前言 我在服务器拉取仓库的镜像时&#xff0c;出现如下错误&#xff1a; Error response from daemon: Get “http://192.168.37.51:8050/v2/”: net/http: HTTP/1.x transport connection broken: malformed HTTP response “\x15\x0…

IDEA2024.2重磅发布,更新完有4G!

JetBrains 今天宣布了其 IDE 家族版本之 2024.2 更新&#xff0c;其亮点是新 UI 现在已是默认设置&#xff0c;并且对 AI Assistant &#xff08;AI助手&#xff09;进行了几项改进。 安装密道 新 UI 的设计更加简约&#xff0c;可以根据需要以视觉方式扩展复杂功能。值得开发…

iPhone怎么大批量删除照片:释放你的存储空间

随着iPhone相机质量的提升&#xff0c;我们越来越倾向于使用手机捕捉生活中的每一个瞬间。不久后&#xff0c;我们就会发现手机内存充满了成千上万的照片&#xff0c;这不仅占用了大量的存储空间&#xff0c;也让照片的管理变得越来越困难。对于需要释放空间的用户来说&#xf…

explorer.exe没有注册类

管理员身份进入cmd面板 输入sfc /scannow 进行扫描&#xff0c;会自动修复异常文件 验证100% 后&#xff0c;输入 start explorer.exe 进行验证 这个问题就解决了

自学-网络安全

自学网络安全是一个既具挑战性又充满机遇的过程。网络安全是一个庞大的领域&#xff0c;涵盖了网络架构、操作系统安全、程序安全、数据安全、社交工程学、密码学等多个方面。为了系统地学习网络安全&#xff0c;以下是一份详细的自学指南&#xff0c;旨在帮助初学者从零开始&a…

SM2在线验签工具

先前讲过SM2在线签名工具&#xff0c;相应的有签名自然需要验签。SM2采用SM2私钥进行签名&#xff0c;而使用公钥进行验签&#xff0c;以验证数据的完整性和来源是否没被篡改。 在线SM2密钥对生成工具 在线SM2验签工具 SM2 签名算法中&#xff0c;签名过程使用私钥运算生成两…

利用 Docker 和 Poetry 优化 Python 应用部署

在当今快速发展的软件开发领域&#xff0c;容器化技术已经成为一种主流趋势&#xff0c;而 Docker 正是其中的佼佼者。与此同时&#xff0c;依赖管理也是开发过程中不可或缺的一部分&#xff0c;特别是在 Python 项目中。本文将介绍如何结合 Docker 和 Poetry&#xff0c;实现 …