`

Token

    博客分类:
  • JSP
阅读更多

年紀大了,一堆少用的東西忘了差不多,更慘的是不清楚自己忘了啥!所以有的沒的都拿來這記一記~~

 

<%
/**
 * <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续签

    在这个场景下,“基于acess_token和refresh_token实现token续签”是一个关键的过程,它涉及到用户登录、权限管理以及令牌的有效性维护。下面将详细阐述这个主题。 首先,我们需要理解`access_token`和`refresh_...

    vue中前端利用refreshToken结合axios拦截器实现token的无感刷新

    1、首次登录的时候会获取到两个token(AccessToken,RefreshToken)。 2、持久化保存起来(localStorage方案)。 3、正常请求业务接口的时候携带AccessToken。 4、当接口口返回401权限错误时,使用RefreshToken请求...

    JWT Token生成及验证

    JSON Web Token(JWT)是一种开放的标准(RFC 7519),定义了一种紧凑的、自包含的方式来安全地在各方之间传输信息作为一个JSON对象。这个信息可以被验证和信任,因为它是数字签名的。JWT在身份验证和授权场景中广泛...

    onenet MQTT Token计算工具

    【OneNet MQTT Token计算工具详解】 OneNet MQTT Token计算工具是一款专为物联网(IoT)开发者设计的应用,用于生成在使用OneNet MQTT协议时所需的Token。OneNet是中国移动物联网开放平台提供的一种通信协议,它基于...

    JFinal+token基础demo

    在用户成功登录后,服务器会返回一个Token,客户端(通常是浏览器或移动应用)需要在后续的请求中携带这个Token,以证明请求的合法性。 在JFinal中实现Token认证,我们需要做以下几步: 1. **生成Token**:当用户...

    Android token过期刷新处理的方法示例

    Android Token 过期刷新处理方法示例 Android Token 过期刷新处理是移动端应用程序中常见的问题之一。当用户的 Token 过期时,应用程序需要重新刷新 Token,以确保用户的身份验证。下面是 Android Token 过期刷新...

    Android OkHttp实现全局过期token自动刷新示例

    Android OkHttp实现全局过期token自动刷新示例 本篇文章主要介绍了Android OkHttp实现全局过期token自动刷新示例,解决了在Android开发中常见的问题,即如何在请求某个接口时自动刷新token。 首先,我们需要了解...

    七牛的Token生成

    在使用七牛云存储进行文件上传时,为了确保数据的安全性和防止非法操作,七牛引入了一种名为“Token”的验证机制。本文将详细介绍如何生成七牛的Token,以及它在上传过程中的作用。 首先,我们需要理解什么是七牛...

    微信小程序登录换取token的教程

    【微信小程序登录换取token的教程】 在开发微信小程序的过程中,用户身份验证是非常关键的一环,而这个过程通常涉及到获取和使用token。本教程主要讲解如何通过微信小程序的登录流程换取token,以及处理可能出现的...

    onenet平台Token计算工具

    标题中的“onenet平台Token计算工具”指的是一个用于与中移物联网OneNet平台交互的工具,该工具的主要功能是生成和管理Token。OneNet是中国移动旗下提供物联网服务的一个云平台,它提供了数据存储、处理、分析以及...

    创建token令牌的算法示例

    `Token`机制作为一种现代的身份验证方式,被广泛应用,以提高用户认证的安全性和灵活性。本文将深入探讨如何在Java环境中创建和使用`Token`,以及其背后的算法原理。 首先,我们需要理解什么是`Token`。`Token`是一...

    Token生成规则以及工具相关代码

    在IT行业中,Token是一种常见的身份验证机制,广泛应用于Web应用、API接口以及移动应用中。本文将深入探讨Token的生成规则及其相关工具,并基于提供的链接文章进行解析。 首先,理解Token的基本概念至关重要。Token...

    Spring Cloud Feign统一设置验证token实现方法解析

    Spring Cloud Feign统一设置验证token实现方法解析 Spring Cloud Feign是一个基于Netflix的Feign组件,提供了一个简洁的方式来构建RESTful风格的微服务接口。Feign组件提供了一个统一的接口调用方式,使得微服务...

    微信小程序url与token设置详解

    微信小程序url与token设置详解 新浪云应用sae的代码里创建一个weixin.php文件,写入以下代码 define(TOKEN,myToken);// 后台填写的token,在微信公众平台启用 $wechatObj = new wechatAPI(); $wechatObj-&gt;isValid()...

    onenet对接token的python及QuecPython算法

    标题中的"onenet对接token的python及QuecPython算法"涉及到的是使用Python语言与OneNet物联网平台进行交互的授权机制,以及在移远模块(QuecPython)上实现这一过程的算法。OneNet是一个开放的物联网云服务平台,...

    c#生成token验证4

    在IT行业中,尤其是在Web开发领域,Token验证是一种常见的安全机制,用于验证用户身份或保护API接口。在C#编程环境下,生成和验证Token是开发者必须掌握的重要技能之一。本篇文章将详细探讨C#中生成Token的基本概念...

    微信企业号 开发平台token验证

    在微信企业号的开发过程中,Token验证是一个至关重要的环节,它确保了应用的安全性和数据的准确性。 首先,我们要理解什么是Token。Token在开发领域中通常被当作一种临时的身份凭证,它由服务器生成并发送给客户端...

    kindeditor图片上传携带token字段

    token={{your_token}}', // 将{{your_token}}替换为实际的token值 fileManagerJson: '/upload/filemanager', allowFileManager: true, beforeUpload: function(file) { // 在这里可以添加额外的请求参数,如...

    微信小程序自动刷新token,无感刷新token,封装的api工具类

    小程序登录开发通常是调用wx.login获取code,然后发送到后台,后台请求微信拿到用户openId,然后根据openId查询用户,有就走登录流程然后返回token,没有则创建用户之后走登录流程然后返回token,也就是都需要返回一...

Global site tag (gtag.js) - Google Analytics