?? logonandcheckbynodeid.jsp
字號:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.security.*"%>
<%@ page import="java.net.URLEncoder"%>
<%!
public static String byte2HEX(byte b) {
return (""+"0123456789ABCDEF".charAt(0xf&b>>4)+"0123456789ABCDEF".charAt(b&0xF));
}
public static byte stringHEX2bytes(String str) {
return (byte) ("0123456789ABCDEF".indexOf(str.substring(0,1))*16 + "0123456789ABCDEF".indexOf(str.substring(1)));
}
public static String md5bytes2string(byte[] bytes){
String result = "";
for(int i=0; i<bytes.length; i++){
result += byte2HEX(bytes[i]);
}
return result;
}
public static byte[] md5string2bytes(String str){
byte[] b = new byte[str.length()/2];
for(int i=0; i<b.length; i++){
String s = str.substring(i*2,i*2+2);
b[i] = stringHEX2bytes(s);
}
return b;
}
public boolean checkValidate(String vnetloginname,String token,String verifycode){
try{
String seed = token + vnetloginname + "vnetvalidate";
MessageDigest md = MessageDigest.getInstance("MD5");
String mdresult = md5bytes2string(md.digest(seed.getBytes()));
return mdresult.equalsIgnoreCase(verifycode);
}catch(Exception e){
return false;
}
}
public boolean checkValidateForNode(String vnetloginname,String token,String verifycode,String nodeid,String nodeverifyresult){
try{
String seed = token + nodeid + vnetloginname + nodeverifyresult + "vnetvalidate";
MessageDigest md = MessageDigest.getInstance("MD5");
String mdresult = md5bytes2string(md.digest(seed.getBytes()));
return mdresult.equalsIgnoreCase(verifycode);
}catch(Exception e){
return false;
}
}
%>
<%
//地區的node id,測試節點為"2"
String nodeid="2";
//本網頁的網址,從Vnet網站跳回時用
String return_url="http://localhost:9000/demoicp/LogonAndCheckByNodeID.jsp";
//取傳回的參數
String nodeverifyresult = request.getParameter("nodeverifyresult");
String vnetloginname = request.getParameter("vnetloginname");
String token = request.getParameter("token");
String verifycode = request.getParameter("verifycode");
String nodestring = request.getParameter("nodestring");
if(nodeverifyresult == null || nodeverifyresult.length()==0){
//初始頁面
String jumpURL = com.onewaveinc.portalman.webpro.WebProManager.getAuthenticationJumpURL()+"?node_id=" + nodeid;
jumpURL += "&return_url="+URLEncoder.encode(return_url);
out.println("<BR>NodeID:1廣州27茂名2測試節點28韶關11深圳29梅州12珠海30潮州13惠州31陽江14江門32汕尾15汕頭33云浮16湛江34揭陽20佛山35河源21東莞36清遠22中山37潮陽25肇慶38寬帶南海26順德39廣西卡用戶<BR>");
out.println("<A href='" + jumpURL + "'>單擊此處跳轉到Vnet登陸頁面</A><BR><BR><A href='http://gd.chinavnet.com/' target='_blank'>單擊此處跳轉到Vnet主頁</A>");
}else if("success".equalsIgnoreCase(nodeverifyresult)){
//檢查校驗碼是否正確,如果不正確,說明是用戶修改了跳回時的參數值
if(checkValidateForNode(vnetloginname,token,verifycode,nodeid,nodeverifyresult)){
out.println("地域驗證通過,Vnet用戶名為:" + vnetloginname + ",用戶地區編碼為" + nodestring);
}else{
out.println("地域驗證通過,但校驗碼不正確<BR>");
}
}else{
//檢查校驗碼是否正確,如果不正確,說明是用戶修改了跳回時的參數值
if(checkValidate(vnetloginname,token,verifycode)){
out.println("地域驗證不通過,Vnet用戶名為:" + vnetloginname);
}else{
out.println("地域驗證不通過,校驗碼也不正確<BR>");
}
}
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -