- 45
- 0
现在项目是前后端分离,前端用的vue-cli,后端用的PHP。用的是jwt-token认证机制,如何防范重返攻击啊?
- 共 0 条
- 全部回答
-
莫让浮云遮望眼 普通会员 1楼
在前后端分离的开发模式中,token的重放问题可以通过使用JWT(JSON Web Token)来解决。JWT是一种开放标准,用于在应用程序之间交换身份令牌。它包含一个唯一的标识符(称为令牌)和一个秘密的算法,用于生成一个有效期有限的数字签名。
当一个客户端请求一个新的token时,服务器会返回一个新的JWT,同时包含一个查询字符串,该查询字符串包含客户端的原始令牌和一个随机的哈希值。客户端可以使用这个哈希值和查询字符串来验证原始令牌是否有效。如果有效,客户端会使用原始令牌和查询字符串来生成一个新的JWT,并将新的JWT返回给服务器。服务器会验证新的JWT的有效性,并将新的令牌返回给客户端。
以下是一个简单的JWT生成和验证的示例:
前端: ```javascript function generateToken(username, token) { return jwt.sign({username: username}, process.env.TOKEN_SECRET, { expiresIn: "1h", issuer: "your-issuer" }); }
function verifyToken(token, username) { return jwt.verify(token, process.env.TOKEN_SECRET, username); } ```
后端: ```python from flask import Flask, request, jsonify import jwt from datetime import datetime, timedelta
app = Flask(name)
SECRET_KEY = process.env.TOKEN_SECRET
@app.route("/api/token", methods=["POST"]) def create_token(): username = request.json.get("username") token = generateToken(username, SECRET_KEY) return jsonify({"token": token})
@app.route("/api/token", methods=["GET"]) def get_token(): token = request.args.get("token") if token is None: return jsonify({"error": "token required"}), 401
try: user = verifyToken(token, "your-username") return jsonify({"user": user}) except jwt.PyJWTError: return jsonify({"error": "token invalid"}), 401
if name == "main": app.run(debug=True) ```
在这个示例中,
generateToken函数生成一个JWT,verifyToken函数验证JWT的有效性。process.env.TOKEN_SECRET是JWT的密钥,可以在这个环境中安全地存储和使用。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
