年紀大了,一堆少用的東西忘了差不多,更慘的是不清楚自己忘了啥!所以有的沒的都拿來這記一記~~
<%
/**
* <p>Title: TokenSample.jsp</p>
* <p>Description: 單一頁面設置Token範例<br>
* <p>重點在於網頁refresh時,request裡的Token會是舊的!而使用submit則會是新的!
* <p>Copyright: </p>
* <p>Company: </p>
*
* @author Kirk Hsu
* @version 1.0 Created.
*
*/
%>
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%
try{
String txSn = request.getParameter("TX_SN");
String email = request.getParameter("EMAIL");
String mailType = request.getParameter("MAIL_TYPE");
System.out.println(txSn);
System.out.println(email);
System.out.println(mailType);
String tokenA = (String)session.getAttribute("token");
// refresh時這裡會取到舊的token
String tokenB = request.getParameter("token");
System.out.println("Token in session:" + tokenA);
System.out.println("Token in request:" + tokenB);
// realtime token
String token = "";
if(txSn != null && !"".equals(txSn) && email != null && !"".equals(email) &&
mailType != null && !"".equals(mailType)){
if(tokenA!=null && tokenA.equals(tokenB)){
// do something...
// 移除舊token
System.out.println("Remove token:"+tokenA+" from session.");
session.removeAttribute("token");
// 設定新token
token = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
System.out.println("Save token:"+token+" to session.");
session.setAttribute("token",token);
}else{
System.out.println("重覆送出!!");
// 注意!這裡還得補上,不然hidden裡的token就不見了!
// 那submit時,request的token就變成空的!!
// 為了讓submit時,session和request裡的token相同,
// 所以hidden裡放的token要和session裡的相同!
token = tokenA;
}
}else{
// 設定新token
token = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
System.out.println("Save token:"+token+" to session.");
session.setAttribute("token",token);
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title></title>
</head>
<body>
<form name="form1" action="TokenSample.jsp" method="post">
<fieldset>
<legend>EMAIL測試</legend>
TX_SN:<input type="text" name="TX_SN"><br>
EMAIL:<input type="text" name="EMAIL"><br>
<select name="MAIL_TYPE">
<option value=1>AAA</option>
<option value=2>BBB</option>
<option value=3>CCC</option>
</select>
<input type="hidden" name="token" value="<%=token%>"/>
<input type="submit" value="送出"/>
<br/>
</fieldset>
</form>
</body>
</html>
<%
}catch(Exception e){
e.printStackTrace();
}
%>
分享到:
相关推荐
在这个场景下,“基于acess_token和refresh_token实现token续签”是一个关键的过程,它涉及到用户登录、权限管理以及令牌的有效性维护。下面将详细阐述这个主题。 首先,我们需要理解`access_token`和`refresh_...
1、首次登录的时候会获取到两个token(AccessToken,RefreshToken)。 2、持久化保存起来(localStorage方案)。 3、正常请求业务接口的时候携带AccessToken。 4、当接口口返回401权限错误时,使用RefreshToken请求...
JSON Web Token(JWT)是一种开放的标准(RFC 7519),定义了一种紧凑的、自包含的方式来安全地在各方之间传输信息作为一个JSON对象。这个信息可以被验证和信任,因为它是数字签名的。JWT在身份验证和授权场景中广泛...
【OneNet MQTT Token计算工具详解】 OneNet MQTT Token计算工具是一款专为物联网(IoT)开发者设计的应用,用于生成在使用OneNet MQTT协议时所需的Token。OneNet是中国移动物联网开放平台提供的一种通信协议,它基于...
在用户成功登录后,服务器会返回一个Token,客户端(通常是浏览器或移动应用)需要在后续的请求中携带这个Token,以证明请求的合法性。 在JFinal中实现Token认证,我们需要做以下几步: 1. **生成Token**:当用户...
Android Token 过期刷新处理方法示例 Android Token 过期刷新处理是移动端应用程序中常见的问题之一。当用户的 Token 过期时,应用程序需要重新刷新 Token,以确保用户的身份验证。下面是 Android Token 过期刷新...
Android OkHttp实现全局过期token自动刷新示例 本篇文章主要介绍了Android OkHttp实现全局过期token自动刷新示例,解决了在Android开发中常见的问题,即如何在请求某个接口时自动刷新token。 首先,我们需要了解...
在使用七牛云存储进行文件上传时,为了确保数据的安全性和防止非法操作,七牛引入了一种名为“Token”的验证机制。本文将详细介绍如何生成七牛的Token,以及它在上传过程中的作用。 首先,我们需要理解什么是七牛...
【微信小程序登录换取token的教程】 在开发微信小程序的过程中,用户身份验证是非常关键的一环,而这个过程通常涉及到获取和使用token。本教程主要讲解如何通过微信小程序的登录流程换取token,以及处理可能出现的...
标题中的“onenet平台Token计算工具”指的是一个用于与中移物联网OneNet平台交互的工具,该工具的主要功能是生成和管理Token。OneNet是中国移动旗下提供物联网服务的一个云平台,它提供了数据存储、处理、分析以及...
`Token`机制作为一种现代的身份验证方式,被广泛应用,以提高用户认证的安全性和灵活性。本文将深入探讨如何在Java环境中创建和使用`Token`,以及其背后的算法原理。 首先,我们需要理解什么是`Token`。`Token`是一...
在IT行业中,Token是一种常见的身份验证机制,广泛应用于Web应用、API接口以及移动应用中。本文将深入探讨Token的生成规则及其相关工具,并基于提供的链接文章进行解析。 首先,理解Token的基本概念至关重要。Token...
Spring Cloud Feign统一设置验证token实现方法解析 Spring Cloud Feign是一个基于Netflix的Feign组件,提供了一个简洁的方式来构建RESTful风格的微服务接口。Feign组件提供了一个统一的接口调用方式,使得微服务...
微信小程序url与token设置详解 新浪云应用sae的代码里创建一个weixin.php文件,写入以下代码 define(TOKEN,myToken);// 后台填写的token,在微信公众平台启用 $wechatObj = new wechatAPI(); $wechatObj->isValid()...
标题中的"onenet对接token的python及QuecPython算法"涉及到的是使用Python语言与OneNet物联网平台进行交互的授权机制,以及在移远模块(QuecPython)上实现这一过程的算法。OneNet是一个开放的物联网云服务平台,...
在IT行业中,尤其是在Web开发领域,Token验证是一种常见的安全机制,用于验证用户身份或保护API接口。在C#编程环境下,生成和验证Token是开发者必须掌握的重要技能之一。本篇文章将详细探讨C#中生成Token的基本概念...
在微信企业号的开发过程中,Token验证是一个至关重要的环节,它确保了应用的安全性和数据的准确性。 首先,我们要理解什么是Token。Token在开发领域中通常被当作一种临时的身份凭证,它由服务器生成并发送给客户端...
token={{your_token}}', // 将{{your_token}}替换为实际的token值 fileManagerJson: '/upload/filemanager', allowFileManager: true, beforeUpload: function(file) { // 在这里可以添加额外的请求参数,如...
小程序登录开发通常是调用wx.login获取code,然后发送到后台,后台请求微信拿到用户openId,然后根据openId查询用户,有就走登录流程然后返回token,没有则创建用户之后走登录流程然后返回token,也就是都需要返回一...