使用ASP開(kāi)發(fā)網(wǎng)頁(yè)需要牢記的9個(gè)注意事項(xiàng)
永遠(yuǎn)不要相信用戶輸入的內(nèi)容具有適當(dāng)?shù)拇笮』蛘甙m當(dāng)?shù)淖址T谑褂闷渥龀鰶Q策之前應(yīng)該始終對(duì)用戶輸入進(jìn)行驗(yàn)證。最佳的選擇是創(chuàng)建一個(gè) COM+ 組件,...
1、永遠(yuǎn)不要相信用戶輸入的內(nèi)容具有適當(dāng)?shù)拇笮』蛘甙m當(dāng)?shù)淖址?。在使用其做出決策之前應(yīng)該始終對(duì)用戶輸入進(jìn)行驗(yàn)證。最佳的選擇是創(chuàng)建一個(gè) COM+ 組件,這樣您可以從 ASP 頁(yè)面中調(diào)用該組件來(lái)驗(yàn)證用戶的輸入內(nèi)容。您也可以使用 Server.HTMLEncode 方法、Server.URLEncode 方法,或者本頁(yè)底部代碼示例中的某一個(gè)。
2、不要通過(guò)連接用戶輸入的字符串來(lái)創(chuàng)建 ASP 頁(yè)中的數(shù)據(jù)庫(kù)連接字符串。惡意用戶可以通過(guò)在他們的輸入內(nèi)容中插入代碼來(lái)獲取數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限。如果您使用的是 SQL 數(shù)據(jù)庫(kù),那么請(qǐng)使用存儲(chǔ)過(guò)程創(chuàng)建數(shù)據(jù)庫(kù)連接字符串。
3、不要使用默認(rèn)的 SQL 管理員帳戶名 sa。每個(gè)使用 SQL 的用戶都知道存在 sa 帳戶。創(chuàng)建具有安全可靠密碼的其他 SQL 管理帳戶,并刪除 sa 帳戶。
4、在您存儲(chǔ)客戶端用戶密碼之前,請(qǐng)對(duì)這些密碼使用哈希算法、進(jìn)行 base64 編碼,或者使用 Server.HTMLEncode 或者 Server.URLEncode 進(jìn)行編碼。您還可以使用本頁(yè)底部的某個(gè)代碼示例驗(yàn)證客戶端密碼中的字符。
5、不要把管理帳戶名或密碼放置在管理腳本或 ASP 頁(yè)中。
6、不要根據(jù)請(qǐng)求標(biāo)題在代碼中做出決策,因?yàn)闃?biāo)題數(shù)據(jù)可以被惡意用戶偽造。在使用請(qǐng)求數(shù)據(jù)前,始終要對(duì)其進(jìn)行編碼或者使用下面的代碼示例驗(yàn)證其所包含的字符。
7、不要將安全數(shù)據(jù)存儲(chǔ)在 Cookie 中或者將輸入字段隱藏在網(wǎng)頁(yè)中。
始終將安全套接字層 (SSL) 用于基于會(huì)話的應(yīng)用程序,以避免未對(duì)會(huì)話 Cookie 進(jìn)行加密就發(fā)送它們所帶來(lái)的風(fēng)險(xiǎn)。如果會(huì)話 Cookie 沒(méi)有經(jīng)過(guò)加密,則惡意用戶可以使用一個(gè)應(yīng)用程序中的會(huì)話 Cookie 進(jìn)入到與之在同一進(jìn)程中的另一個(gè)應(yīng)用程序。
8、當(dāng)編寫(xiě) ISAPI 應(yīng)用程序、篩選器或者 COM+ 對(duì)象時(shí),請(qǐng)注意由于變量和數(shù)據(jù)的大小而造成的緩沖區(qū)溢出。還要注意可能由于解釋造成的規(guī)范化問(wèn)題,例如將絕對(duì)路徑名解釋成相對(duì)路徑名或 URL。
9、當(dāng)在單線程單元 (STA) 內(nèi)運(yùn)行的 ASP 應(yīng)用程序切換到多線程單元 (MTA) 內(nèi)時(shí),模擬令牌將過(guò)時(shí)。這可能導(dǎo)致應(yīng)用程序在無(wú)模擬的情況下運(yùn)行,讓其用可能允許訪問(wèn)其他資源的進(jìn)程的標(biāo)識(shí)有效地運(yùn)行。如果您必須切換線程模型,請(qǐng)?jiān)谶M(jìn)行更改之前,先禁用該應(yīng)用程序并將其卸載。
代碼示例
本代碼示例包含了一個(gè)函數(shù),它可刪除發(fā)送至該函數(shù)的字符串中的可能有害的字符。在上面的兩個(gè)示例中,指定代碼頁(yè)以確保正確地編碼。下面的示例使用的是 Microsoft Visual Basic® Scripting Edition(VBScript):
<%@ LANGUAGE=
"VBScript"
%>
<%
Response.CodePage = 1252
Response.Write(
"Hello, "
& RemoveBadCharacters(Request.Form(
"UserName"
)))
Response.Write(
"<BR>This is why you received an error:"
)
Function
RemoveBadCharacters(strTemp)
Dim
regEx
Set
regEx =
New
RegExp
regEx.Pattern =
"[^\s\w]"
regEx.Global =
True
RemoveBadCharacters = regEx.Replace(strTemp,
""
)
End
Function
%>
下面的示例使用的是 Microsoft JScript®:
<%@ LANGUAGE=
"JScript"
%>
<%
Response.CodePage = 1252;
Response.Write(
"Hello, "
+ RemoveBadCharacters(Request.Form(
"UserName"
)));
Response.Write(
"<BR>This is why you received an error:"
);
function RemoveBadCharacters(strTemp) {
strTemp = strTemp.replace(/[^\s\w]/g,
""
);
return strTemp;
}
%>
- 利用ASP發(fā)送和接收XML數(shù)據(jù)的處理方法
- ASP實(shí)現(xiàn)限制一個(gè)ip只能訪問(wèn)一次的方法
- ASP程序中常使用的幾種腳本語(yǔ)言
- Asp.net web.config customErrors設(shè)置詳解
- 關(guān)于ASP程序中常見(jiàn)的幾種腳本語(yǔ)言介紹
- 騰訊大股東Naspers成立OTT視頻部門(mén) 迎戰(zhàn)Netflix
- 騰訊大股東Naspers:最看好外賣、數(shù)字支付和分類廣告
- 宏碁Aspire VX 15游戲本正式上市:內(nèi)置GTX 1050 Ti顯卡
- 宏Aspire R3-131T變形本評(píng)測(cè)
- 記一次ASP.NET網(wǎng)站的入侵和如何避免被入侵
利用ASP發(fā)送和接收XML數(shù)據(jù)的處理方法
因?yàn)橐鲆苿?dòng)夢(mèng)網(wǎng)WAP的一些接口,所以要用到這種方式,這個(gè)是ASP版本的,利用了MSXML2.XMLHTTP對(duì)像,利用這種方法,ASP里調(diào)用Servlet或Web Service都是很輕松的!...
ASP實(shí)現(xiàn)限制一個(gè)ip只能訪問(wèn)一次的方法
文章主要介紹了asp實(shí)現(xiàn)限制一個(gè)ip只能訪問(wèn)一次的方法,感興趣的小伙伴們可以參考一下限制一個(gè)ip只能訪問(wèn)一次,現(xiàn)在將asp代碼分享給大家: <% '////////////////////////////...
ASP程序中常使用的幾種腳本語(yǔ)言
在瀏覽器中通過(guò)查看源代碼的方式是無(wú)法看到ASP源代碼的,你只能看到由ASP文件輸出的結(jié)果,而那些只是純粹的HTML而已。這是因?yàn)?,在結(jié)果被送回瀏覽器前,腳本已經(jīng)在服務(wù)器執(zhí)行了。實(shí)...
Asp.net web.config customErrors設(shè)置詳解
文章主要介紹了詳解Asp.net web.config customErrors 如何設(shè)置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧...
關(guān)于ASP程序中常見(jiàn)的幾種腳本語(yǔ)言介紹
相信很多程序員對(duì)于ASP都并不陌生反而很熟悉了,畢竟作為一款簡(jiǎn)單又十分容易維護(hù)的動(dòng)態(tài)服務(wù)器頁(yè)面ASP是相當(dāng)受歡迎的。平時(shí)不是很經(jīng)常接觸編程方面的朋友對(duì)于ASP的了解就...
騰訊大股東Naspers成立OTT視頻部門(mén) 迎戰(zhàn)Netflix
騰訊大股東Naspers視頻娛樂(lè)分部新成立了OTT視頻部門(mén),目的是對(duì)抗來(lái)自Netflix等全球視頻服務(wù)巨頭的激烈競(jìng)爭(zhēng)。...
騰訊大股東Naspers:最看好外賣、數(shù)字支付和分類廣告
南非媒體、科技和投資公司Naspers的首席執(zhí)行官表示,目前他最看好三大在線領(lǐng)域的投資機(jī)會(huì),即外賣、移動(dòng)支付和分類廣告。Naspers曾通過(guò)一筆投資取得巨額回報(bào)。這家創(chuàng)立于一個(gè)多...
宏碁Aspire VX 15游戲本正式上市:內(nèi)置GTX 1050 Ti顯卡
3月16日消息,宏碁在 CES 2017 上發(fā)布的 Aspire VX 15 游戲筆記本現(xiàn)已上市,雖然搭載了英特爾 Kaby Lake 處理器和 Nvidia Pascal 獨(dú)顯,其性價(jià)比仍然相當(dāng)出眾?! X 15主要有酷...
宏Aspire R3-131T變形本評(píng)測(cè)
作為宏AspireR11家族的最新成員,R3-131T擁有可360度翻轉(zhuǎn)“視界”的能力,而不足3000元的價(jià)格也使其成為了同類產(chǎn)品中最具性價(jià)比的新品之一。宏R3-131T是一款11.6英寸的變形本,它最大的特色就是屏幕可3...
記一次ASP.NET網(wǎng)站的入侵和如何避免被入侵
前些日子我去客戶那調(diào)研,發(fā)現(xiàn)客戶的監(jiān)控系統(tǒng)用的是??低暤挠脖P(pán)錄像機(jī),然后默認(rèn)用戶名是amdin密碼是12345,回來(lái)后就想玩一玩看看有多少人用的是默認(rèn)密碼,于是就寫(xiě)了個(gè)...