用ASP技術編製隱藏使用者密碼程式

來源:互聯網
上載者:User

  Internet(或Intranet)上帶許可權的查詢,只有“合法使用者”才能進入。這種機制是通過Web程式實現的。 在訪問過程中,如果程式設計得不好,就會將使用者口令暴露在地址欄裡(舉一個例子:http://www.mmm.nnn/default.asp ?superusername=john&passwd=john123,使用者名稱john和密碼john123全露出來了),這樣系統就無保密和安全性可言了。怎樣避免這種現象的發生呢?本文將用一段ASP(Active Server pages)程式,來說明隱藏使用者名稱和口令的方法。

    ASP是Microsoft公司處理動態網路資料庫的最新技術之一,它可由Windows NT 平台上的Web Server IIS4.0(Microsoft Internet Information Server4.0)解釋並發布資訊,用活動資料對象ADO(ActiveX Data Object)組件並通過ODBC(Open Database Connectivity)訪問多種資料庫(後台)。本文中用到的資料庫為ORACLE8,下邊這段ASP程式(名字為DEFAULT.ASP)所實現的功能是對資料庫的查詢操作,僅取其隱藏使用者名稱和密碼的一部分進行說明。

<% WEB_USER =Request("WEB_USER") 'WEB使用者名稱 %>

<% WEB_USER_PASSWD =Request("WEB_USER_PASSWD") 'WEB使用者的密碼 %>

<% '將WEB使用者名稱和密碼加密,方法是,將變數值從左至右每個字元的ASCII碼加32,產生新的字串,當執行到此時,地址行上顯示出的,是“加密”以後的使用者名稱和密碼,而不是真正的使用者名稱和密碼,達到保密目的% >

<% TEMP1="" % >

<% For i=1 To Len(WEB_USER) %>

<% TEMP2=Mid(WEB_USER,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)+32) %>

<% TEMP1=TEMP1&TEMP2 %>

<% Next %>

<% WEB_USER=TEMP1 %>

<% TEMP1="" %>

<% For i=1 To Len(WEB_USER_PASSWD) %>

<% TEMP2=Mid(WEB_USER_PASSWD,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)+32) %>

<% TEMP1=TEMP1&TEMP2 %>

<% Next %>

<% WEB_USER_PASSWD=TEMP1 %>

<%'建立和資料庫的串連,定義ODBC名字(odbcname)、ORACLE使用者名稱(orauser)及口令(orauser_passwd)%>

<%Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "odbcname","orauser","orauser_passwd"

%>

<% '建立查詢語句-SQL語句%>

<%

var_sql="SELECT * FROM verifytab,dw_tab where verifytab.user_pd='"&WEB_USER_PASSWD&"'"

Set RS = Conn.Execute(var_sql) ’合格記錄產生於RS之中%>

<%'將使用者名稱和口令翻譯成正確的 ,但此時地址欄裡顯示不出來,達到了保密要求%>

<% TEMP1="" %>

<% For i=1 To Len(WEB_USER) %>

<% TEMP2=Mid(WEB_USER,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)-32) %>

<% TEMP1=TEMP1&TEMP2 %>

<% Next %>

<% WEB_USER=TEMP1 %>

<% TEMP1="" %>

<% For i=1 To Len(WEB_USER_PASSWD) %>

<% TEMP2=Mid(WEB_USER_PASSWD,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)-32) %>

<% TEMP1=TEMP1&TEMP2 %>

<% Next %>

<% WEB_USER_PASSWD=TEMP1 %>

<% '驗證輸入的WEB使用者名稱和口令是否正確,若是,往下進行,否則,返回到default.htm調用,它是IIS預設的調用檔案%>〈〉

<%If WEB_USER="superuser" and WEB_USER_PASSWD="superuserpd" Then

else

If RS.EOF Then

Response.Redirect("default.htm")

End If

End If

%>

<%'下邊是用FRONTPAGE 98 設計的FORM介面,內容省略%>

<html>

<head>

……

大家不妨試一下,瀏覽器端無任何不安全資訊,保密效果很好。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.