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

當(dāng)前位置:蘿卜系統(tǒng) > 網(wǎng)絡(luò)技術(shù)教程 > 詳細(xì)頁(yè)面

用戶(hù)口令保護(hù)新招(2)

用戶(hù)口令保護(hù)新招(2)

更新時(shí)間:2021-04-08 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來(lái)的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專(zhuān)家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。
以下內(nèi)容就是一個(gè)在ASP環(huán)境下實(shí)現(xiàn)的登錄表格login.asp。你可以進(jìn)行在線模擬登錄模擬用戶(hù)名為jason, 用戶(hù)口令為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>

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

<%@ LANGUAGE = "JScript" %>

  在第二行ASP中,名為“sharedValue”的服務(wù)器端會(huì)話變量的值被設(shè)置成隨機(jī)浮點(diǎn)數(shù)的字符串表示形式“String”。在用戶(hù)會(huì)話的全過(guò)程中,這個(gè)會(huì)話變量會(huì)存在于服務(wù)器中。

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

  下面一行將名為“sharedValue”的用戶(hù)端JavaScript變量設(shè)置為同名的服務(wù)器端變量的值。

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

  用戶(hù)在表格中輸入他的用戶(hù)名和口令,并點(diǎn)擊“登錄”鍵,這樣就會(huì)激活handlelogin()函數(shù)。handlelogin()函數(shù)啟動(dòng)calculateMD5Value()函數(shù),為用戶(hù)口令附加隨機(jī)值并計(jì)算出相應(yīng)的MD5值。接著,sendMD5Value()函數(shù)會(huì)收取這個(gè)值,并以之替換原表格中所填寫(xiě)的用戶(hù)口令,最后提交表格。

  這里有一點(diǎn)應(yīng)注意:?jiǎn)为?dú)一行的SCRIPT標(biāo)記表示腳本中包含md5.js文件。以上就是MD5的實(shí)現(xiàn),你可以(而且應(yīng)該)從Paul Johnston的站點(diǎn)上拷貝此算法。calculateMD5Value()函數(shù)所使用的calcMD5()函數(shù)在md5.js中有詳細(xì)定義。

  在服務(wù)器一方,我們使用一個(gè)名為checkpassword.asp的ASP腳本對(duì)用戶(hù)名 和MD5值進(jìn)行確認(rèn)。此腳本內(nèi)容如下:

<%@ 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(在服務(wù)器端):

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

  這個(gè)文件就是處在ASP的<% 和 %>標(biāo)記之間的文件md5.js。標(biāo)準(zhǔn)ASP語(yǔ)言都帶inc.后綴。

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

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

  用戶(hù)身份認(rèn)證這一過(guò)程的核心部分是由四行代碼來(lái)執(zhí)行完成,這四行代碼均使用calculateMD5Value()函數(shù)。由用戶(hù)提交的MD5口令被劃為“客戶(hù)口令”(clientPassword)變量,由服務(wù)器計(jì)算得出的值被劃為“服務(wù)器口令”(serverPassword)變量。將這兩個(gè)值進(jìn)行比較。如果兩值相符,那么用戶(hù)瀏覽器就會(huì)打開(kāi)page1.htm,這是已寫(xiě)保護(hù)的網(wǎng)絡(luò)應(yīng)用的首頁(yè)。如果兩值不符,用戶(hù)瀏覽器會(huì)打開(kāi)tryagain.htm,用戶(hù)被告知此次登錄失敗,需要重新登錄。

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

  要制作這一腳本,只要把page1.html定義為需寫(xiě)保護(hù)的Web應(yīng)用的首頁(yè)。如果你不使用ASP,那么你就要把ASP代碼翻譯成在你的服務(wù)器端腳本編寫(xiě)環(huán)境中所使用的語(yǔ)言。


網(wǎng)絡(luò)的神奇作用吸引著越來(lái)越多的用戶(hù)加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來(lái)越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 五台县| 黑龙江省| 杨浦区| 枣强县| 临海市| 英超| 崇信县| 安丘市| 衡阳市| 合阳县| 岳阳市| 同江市| 孝义市| 化德县| 新宁县| 永春县| 光泽县| 巴中市| 洪湖市| 靖安县| 金溪县| 河南省| 奉新县| 高青县| 裕民县| 承德县| 云安县| 资源县| 河南省| 安多县| 鹰潭市| 龙口市| 嘉定区| 茌平县| 囊谦县| 南开区| 金坛市| 多伦县| 会理县| 阿合奇县| 息烽县|