[點(diǎn)晴永久免費(fèi)OA]用ASP開發(fā)網(wǎng)頁需要牢記的注意事項(xiàng)
步 驟 1、永遠(yuǎn)不要相信用戶輸入的內(nèi)容具有適當(dāng)?shù)拇笮』蛘甙m當(dāng)?shù)淖址T谑褂闷渥龀鰶Q策之前應(yīng)該始終對(duì)用戶輸入進(jìn)行驗(yàn)證。最佳的選擇是創(chuàng)建一個(gè) COM+ 組件,這樣您可以從 ASP 頁面中調(diào)用該組件來驗(yàn)證用戶的輸入內(nèi)容。您也可以使用 Server.HTMLEncode 方法、Server.URLEncode 方法,或者本頁底部代碼示例中的某一個(gè)。 ?。病⒉灰ㄟ^連接用戶輸入的字符串來創(chuàng)建 ASP 頁中的數(shù)據(jù)庫連接字符串。惡意用戶可以通過在他們的輸入內(nèi)容中插入代碼來獲取數(shù)據(jù)庫的訪問權(quán)限。如果您使用的是 SQL 數(shù)據(jù)庫,那么請(qǐng)使用存儲(chǔ)過程創(chuàng)建數(shù)據(jù)庫連接字符串。 ?。场⒉灰褂媚J(rèn)的 SQL 管理員帳戶名 sa。每個(gè)使用 SQL 的用戶都知道存在 sa 帳戶。創(chuàng)建具有安全可靠密碼的其他 SQL 管理帳戶,并刪除 sa 帳戶。 ?。础⒃谀鎯?chǔ)客戶端用戶密碼之前,請(qǐng)對(duì)這些密碼使用哈希算法、進(jìn)行 base64 編碼,或者使用 Server.HTMLEncode 或者 Server.URLEncode 進(jìn)行編碼。您還可以使用本頁底部的某個(gè)代碼示例驗(yàn)證客戶端密碼中的字符。 ?。怠⒉灰压芾韼裘蛎艽a放置在管理腳本或 ASP 頁中。 ?。丁⒉灰鶕?jù)請(qǐng)求標(biāo)題在代碼中做出決策,因?yàn)闃?biāo)題數(shù)據(jù)可以被惡意用戶偽造。在使用請(qǐng)求數(shù)據(jù)前,始終要對(duì)其進(jìn)行編碼或者使用下面的代碼示例驗(yàn)證其所包含的字符。 ?。贰⒉灰獙踩珨?shù)據(jù)存儲(chǔ)在 Cookie 中或者將輸入字段隱藏在網(wǎng)頁中。 ?。浮?dāng)編寫 ISAPI 應(yīng)用程序、篩選器或者 COM+ 對(duì)象時(shí),請(qǐng)注意由于變量和數(shù)據(jù)的大小而造成的緩沖區(qū)溢出。還要注意可能由于解釋造成的規(guī)范化問題,例如將絕對(duì)路徑名解釋成相對(duì)路徑名或 URL。 ?。埂?dāng)在單線程單元 (STA) 內(nèi)運(yùn)行的 ASP 應(yīng)用程序切換到多線程單元 (MTA) 內(nèi)時(shí),模擬令牌將過時(shí)。這可能導(dǎo)致應(yīng)用程序在無模擬的情況下運(yùn)行,讓其用可能允許訪問其他資源的進(jìn)程的標(biāo)識(shí)有效地運(yùn)行。如果您必須切換線程模型,請(qǐng)?jiān)谶M(jìn)行更改之前,先禁用該應(yīng)用程序并將其卸載。 代碼示例 下面的示例使用的是 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; } %> 這篇文章就介紹到這,希望大家多多支持。 該文章在 2022/7/5 1:37:59 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |