濮阳杆衣贸易有限公司

主頁 > 知識庫 > ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻

ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻

熱門標(biāo)簽:南通智能外呼系統(tǒng)怎么樣 臺灣外呼系統(tǒng)軟件 真3地圖標(biāo)注 疫情時(shí)期電話機(jī)器人 樂昌電話機(jī)器人 南京怎么申請400這種電話 地圖標(biāo)注可以編輯地名嗎 地圖標(biāo)注跑線下市場 濮陽清豐400開頭的電話申請

ASP是Web上的客戶機(jī)/服務(wù)器結(jié)構(gòu)的中間層,雖然它使用腳本語言(Java Script,VB Script等)編寫,程序代碼在服務(wù)器上運(yùn)行,在客戶端僅可看到由ASP輸出的動態(tài)HTML文件,但ASP仍具有某些漏洞,采取一定手段也可以看到ASP程序的源碼。這時(shí),通過ASP與SQL Server相結(jié)合,我們可以設(shè)計(jì)出簡單、高效、可靠的應(yīng)用程序。

為網(wǎng)頁設(shè)置防火墻的主要目的是根據(jù)網(wǎng)頁內(nèi)容對不同來訪者提供不同的服務(wù),利用Java Script或VB Script,我們很容易做到這一點(diǎn)。但網(wǎng)頁的源碼在客戶瀏覽器中可以被看到,訪問者可以查看所用的用戶鑒別方法,這只是一個(gè)表面形式的防火墻。

下面簡單介紹一下其建立過程。

一、建立Login

在SQL Server上建立訪問者的Login和Password。

二、在網(wǎng)絡(luò)服務(wù)器上創(chuàng)建數(shù)據(jù)庫DSN

使用“控制面板”中的“ODBC數(shù)據(jù)源管理器”創(chuàng)建某個(gè)數(shù)據(jù)庫的ODBC 數(shù)據(jù)資源名,即DSN,這樣以后可以通過使用數(shù)據(jù)庫DSN連接具體的數(shù)據(jù)庫。

“ODBC數(shù)據(jù)源管理器”提供了三種DSN,分別為用戶DSN、系統(tǒng)DSN和文件DSN。其中,用戶DSN會把相應(yīng)的配置信息保存在Windows的注冊表中,但是只允許創(chuàng)建該DSN的登錄用戶使用。系統(tǒng)DSN同樣將有關(guān)的配置信息保存在系統(tǒng)注冊表中,但是與用戶DSN不同的是系統(tǒng)DSN允許所有登錄服務(wù)器的用戶使用。

與上述兩種數(shù)據(jù)庫DSN不同,文件DSN把具體的配置信息保存在硬盤上的某個(gè)具體文件中。文件DSN允許所有登錄服務(wù)器的用戶使用,而且即使在沒有任何用戶登錄的情況下,也可以提供對數(shù)據(jù)庫DSN的訪問支持。此外,因?yàn)槲募﨑SN被保存在硬盤文件里,所以可以方便地復(fù)制到其它機(jī)器中。這樣,用戶可以不對系統(tǒng)注冊表進(jìn)行任何改動就可直接使用在其它機(jī)器上創(chuàng)建的DSN。

在以上三種數(shù)據(jù)庫DSN中,建議用戶選擇系統(tǒng)DSN或文件DSN,如果用戶更喜歡文件DSN的可移植性,可以通過在NT系統(tǒng)下設(shè)定文件的訪問權(quán)限獲得較高的安全保障。

建立新的DSN,用戶首先選擇“添加”,然后在彈出窗口中選擇用戶將要建立連接的數(shù)據(jù)庫類型并選擇列表中的“SQL Server”項(xiàng)。如果用戶是建立文件DSN,則單擊“下一步”按鈕并在隨后的對話框中輸入所要建立的文件DSN的文件名和保存路徑。如果用戶建立的是系統(tǒng)DSN,單擊“完成”按鈕。

在選擇完數(shù)據(jù)庫之后,用戶需要對數(shù)據(jù)庫DSN進(jìn)行設(shè)置。用戶需要選擇提供數(shù)據(jù)庫服務(wù)的具體服務(wù)器,設(shè)定登錄用戶名和口令,以及用戶將要連接的數(shù)據(jù)庫。

三、程序設(shè)計(jì)

下面要實(shí)現(xiàn)的就是一個(gè)簡單的頁面防火墻的功能。此頁面只限制本單位內(nèi)部網(wǎng)的用戶進(jìn)行訪問(在此假設(shè)內(nèi)部網(wǎng)的IP地址是從10.61.96.?至10.65.97.?之間),如果是單位外部用戶進(jìn)行訪問則要求輸入訪問用戶名及密碼。在此要使用到request對象的ServerVariables屬性,通過它來獲得環(huán)境變量的值。

程序源碼(firewall.asp)如下:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80"> 
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"> 
<title>firewall.asp</title> 
</head> 
<body background="#800080 "> 
<% 
'使用Request.ServerVariables("REMOTE_ADDR")得到IP地址并保存在變量remoteip中 
remoteip=Request.ServerVariables("REMOTE_ADDR") 
stip=cstr(remoteip) 
取得IP地址第三個(gè)段的值并保存到stip中 
for i=1 to 2 
stip=right(stip,len(stip)-instr(1,stip,".")) 
next 
stip=left(stip,instr(1,stip,".")-1) 
'IP地址有效性檢驗(yàn)及密碼驗(yàn)證,包括兩方面的內(nèi)容:如果IP地址符合則通過驗(yàn)證;
如果IP地址不符合則檢驗(yàn)輸入的用戶名、密碼是否正確 
if (left(remoteip,5) <> "10.61" or stip<"96" or stip>"97") then 
username=request.form("t1") 
password=request.form("t2") 
Set fs = CreateObject("Scripting.FileSystemObject") 
Set thisfile = fs.OpenTextFile("dsn.txt") 
db loc=thisfile.readline 
thisfile.close 
cnstr=db_loc"uid="username";""pid="password 
on error resume next 
set cn=server.createobject("adodb.connection") 
cn.open cnstr 
if err=3709 then %>  
<p><font color="#FF0000">對不起,用戶:<%=username%>沒有訪問權(quán)限,或密碼不正確! <BR></font></p> 
<form method="POST">  
<p align="center">
用戶名:<input type="text" name="T1" size="20">
口令:<input type="password" name="T2" size="20">
<input type="submit" value="提交" name="B1"><input type="reset" value="全部重寫" name="B2">  
</p> 
</form>  
<%end if 
cn.close  
set cn=nothing%> 
<%else %> 
恭喜您,您已經(jīng)通過了驗(yàn)證,可以直接使用本站點(diǎn)的資源! 
<%end if%> 
</body> 
</html> 

稍微修改一下上面如IP地址等信息,該程序就可以運(yùn)行了。

當(dāng)然,上面只是實(shí)現(xiàn)在一個(gè)頁面中的防火墻功能。如果一個(gè)網(wǎng)站有多個(gè)頁面的話,可以設(shè)置一個(gè)session變量來對用戶進(jìn)行標(biāo)志,在下面的頁面中都進(jìn)行判斷。

希望通過本文的介紹,能夠給你帶來幫助。

您可能感興趣的文章:
  • PHP的ASP防火墻
  • asp 在線備份與恢復(fù)sqlserver數(shù)據(jù)庫的代碼
  • ASP備份SQL Server數(shù)據(jù)庫改進(jìn)版
  • sql server中批量插入與更新兩種解決方案分享(asp.net)
  • SQL Server LocalDB 在 ASP.NET中的應(yīng)用介紹
  • ASP 連接 SQL SERVER 2008的方法
  • ASP通過ODBC連接SQL Server 2008數(shù)據(jù)庫的方法
  • ASP語言實(shí)現(xiàn)對SQL SERVER數(shù)據(jù)庫的操作

標(biāo)簽:河北 南京 陜西 阿里 通遼 馬鞍山 福建 廣安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻》,本文關(guān)鍵詞  ASP,和,SQL,Server,如何,構(gòu)建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    桃园市| 杂多县| 浮梁县| 嫩江县| 育儿| 和林格尔县| 毕节市| 开平市| 沅陵县| 增城市| 潜山县| 皮山县| 龙口市| 怀远县| 陆川县| 涞水县| 桂平市| 高邑县| 濮阳县| 福泉市| 塔城市| 竹溪县| 乐业县| 大竹县| 韶关市| 泸水县| 广河县| 赫章县| 五寨县| 乐亭县| 凌云县| 灌云县| 东乡族自治县| 航空| 荆门市| 灵宝市| 惠水县| 泾源县| 宁化县| 峨眉山市| 都兰县|