人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

用戶口令保護新招(2)

用戶口令保護新招(2)

更新時間:2021-04-08 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
以下內容就是一個在ASP環境下實現的登錄表格login.asp。你可以進行在線模擬登錄模擬用戶名為jason, 用戶口令為f2#5%rsq。

<%@ LANGUAGE = "JScript" %>
<HTML>
<HEAD>
<TITLE>Please log in!</TITLE>
<% Session("sharedValue") = Math.random().toString() %>
<SCRIPT LANGUAGE="JavaScript" SRC="md5.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var sharedValue = "<% =Session("sharedValue") %>"
function handleLogin() {
sendMD5Value(calculateMD5Value())
}
function calculateMD5Value() {
var pw = document.forms["login"].elements["password"].value
pw += sharedValue
return calcMD5(pw)
}
function sendMD5Value(hash) {
document.forms["login"].elements["password"].value = hash
document.forms["login"].submit()
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="login" METHOD="POST" ACTION="checkpassword.asp">
User ID: <INPUT TYPE="TEXT" NAME="userid" SIZE="40"><BR>
Password: <INPUT TYPE="PASSWORD" NAME="password" SIZE="40"><BR>
<INPUT TYPE="BUTTON" NAME="startLogin" VALUE="Login" onClick="handleLogin()">
</FORM>
</BODY>
</HTML>

  以上內容中只有三行包含ASP腳本。(在<%和%>之間的內容為ASP腳本。)文件的第一行把ASP語言確定為JScript 。

<%@ LANGUAGE = "JScript" %>

  在第二行ASP中,名為“sharedValue”的服務器端會話變量的值被設置成隨機浮點數的字符串表示形式“String”。在用戶會話的全過程中,這個會話變量會存在于服務器中。

<% Session("sharedValue") = Math.random().toString() %>

  下面一行將名為“sharedValue”的用戶端JavaScript變量設置為同名的服務器端變量的值。

var sharedValue = "<% =Session("sharedValue") %>"

  用戶在表格中輸入他的用戶名和口令,并點擊“登錄”鍵,這樣就會激活handlelogin()函數。handlelogin()函數啟動calculateMD5Value()函數,為用戶口令附加隨機值并計算出相應的MD5值。接著,sendMD5Value()函數會收取這個值,并以之替換原表格中所填寫的用戶口令,最后提交表格。

  這里有一點應注意:單獨一行的SCRIPT標記表示腳本中包含md5.js文件。以上就是MD5的實現,你可以(而且應該)從Paul Johnston的站點上拷貝此算法。calculateMD5Value()函數所使用的calcMD5()函數在md5.js中有詳細定義。

  在服務器一方,我們使用一個名為checkpassword.asp的ASP腳本對用戶名 和MD5值進行確認。此腳本內容如下:

<%@ LANGUAGE = "JScript" %>
<!--#include file ="md5.inc"-->
<%
function calculateMD5Value() {
var pw = "" + Application(Request.Form("userid"))
pw += Session("sharedValue")
return calcMD5(""+pw)
}
clientPassword = Request.Form("password")
serverPassword = calculateMD5Value()
if(clientPassword == serverPassword) Response.Redirect("page1.htm")
else Response.Redirect("tryagain.htm")
%>

  下面一行表示在checkpassword.asp腳本中包含文件md5.inc(在服務器端):

<!--#include file ="md5.inc"-->

  這個文件就是處在ASP的<% 和 %>標記之間的文件md5.js。標準ASP語言都帶inc.后綴。

  另一個服務器端腳本描述了calculateMD5Value()函數。字段Request.Form("userid")把用戶在提交表格時所輸入的用戶名返回。通過返回的用戶名在一個應用變量中找到真正的用戶口令值。(如果你打算使用ASP,你可能希望使用另一種辦法,讓腳本可以通過其它方式獲取口令。)使用pw變量儲存用戶口令。從會話變量中取回發送給用戶的原始隨機值,并附加到用戶口令上。然后,函數對附加了隨機值的用戶口令進行計算并將所得結果返回。

function calculateMD5Value() {
var pw = "" + Application(Request.Form("userid"))
pw += Session("sharedValue")
return calcMD5(""+pw)
}

  用戶身份認證這一過程的核心部分是由四行代碼來執行完成,這四行代碼均使用calculateMD5Value()函數。由用戶提交的MD5口令被劃為“客戶口令”(clientPassword)變量,由服務器計算得出的值被劃為“服務器口令”(serverPassword)變量。將這兩個值進行比較。如果兩值相符,那么用戶瀏覽器就會打開page1.htm,這是已寫保護的網絡應用的首頁。如果兩值不符,用戶瀏覽器會打開tryagain.htm,用戶被告知此次登錄失敗,需要重新登錄。

clientPassword = Request.Form("password")
serverPassword = calculateMD5Value()
if(clientPassword == serverPassword) Response.Redirect("page1.htm")
else Response.Redirect("tryagain.htm")

  要制作這一腳本,只要把page1.html定義為需寫保護的Web應用的首頁。如果你不使用ASP,那么你就要把ASP代碼翻譯成在你的服務器端腳本編寫環境中所使用的語言。


網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 夏津县| 颍上县| 新昌县| 偃师市| 建瓯市| 东平县| 湘潭县| 禄丰县| 江安县| 上虞市| 邢台县| 临高县| 闽侯县| 卢龙县| 大邑县| 保定市| 萍乡市| 浮梁县| 三门峡市| 天峻县| 绍兴县| 拜泉县| 阿拉善盟| 澄江县| 疏勒县| 永济市| 大石桥市| 永和县| 绍兴市| 突泉县| 正宁县| 伽师县| 威信县| 原阳县| 尤溪县| 荥经县| 新巴尔虎左旗| 孝义市| 利川市| 永定县| 临洮县|