主頁 > 知識庫 > ASP開發(fā)網(wǎng)頁牢記注意事項(xiàng)

ASP開發(fā)網(wǎng)頁牢記注意事項(xiàng)

熱門標(biāo)簽:服務(wù)器配置 阿里云 電子圍欄 Linux服務(wù)器 科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設(shè)置 團(tuán)購網(wǎng)站 銀行業(yè)務(wù)
 ASP開發(fā)網(wǎng)頁牢記注意事項(xiàng)     選擇自 RAINMAN_NET 的 Blog  
關(guān)鍵字   ASP開發(fā)網(wǎng)頁牢記注意事項(xiàng) 
出處    

 永遠(yuǎn)不要相信用戶輸入的內(nèi)容具有適當(dāng)?shù)拇笮』蛘甙m當(dāng)?shù)淖址?。在使用其做出決策之前應(yīng)該始終對用戶輸入進(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ù)庫,那么請使用存儲過程創(chuàng)建數(shù)據(jù)庫連接字符串。 
不要使用默認(rèn)的 SQL 管理員帳戶名 sa。每個(gè)使用 SQL 的用戶都知道存在 sa 帳戶。創(chuàng)建具有安全可靠密碼的其他 SQL 管理帳戶,并刪除 sa 帳戶。 
在您存儲客戶端用戶密碼之前,請對這些密碼使用哈希算法、進(jìn)行 base64 編碼,或者使用 Server.HTMLEncode 或者 Server.URLEncode 進(jìn)行編碼。您還可以使用本頁底部的某個(gè)代碼示例驗(yàn)證客戶端密碼中的字符。 
不要把管理帳戶名或密碼放置在管理腳本或 ASP 頁中。 
不要根據(jù)請求標(biāo)題在代碼中做出決策,因?yàn)闃?biāo)題數(shù)據(jù)可以被惡意用戶偽造。在使用請求數(shù)據(jù)前,始終要對其進(jìn)行編碼或者使用下面的代碼示例驗(yàn)證其所包含的字符。 
不要將安全數(shù)據(jù)存儲在 Cookie 中或者將輸入字段隱藏在網(wǎng)頁中。 
始終將安全套接字層 (SSL) 用于基于會話的應(yīng)用程序,以避免未對會話 Cookie 進(jìn)行加密就發(fā)送它們所帶來的風(fēng)險(xiǎn)。如果會話 Cookie 沒有經(jīng)過加密,則惡意用戶可以使用一個(gè)應(yīng)用程序中的會話 Cookie 進(jìn)入到與之在同一進(jìn)程中的另一個(gè)應(yīng)用程序。 
當(dāng)編寫 ISAPI 應(yīng)用程序、篩選器或者 COM+ 對象時(shí),請注意由于變量和數(shù)據(jù)的大小而造成的緩沖區(qū)溢出。還要注意可能由于解釋造成的規(guī)范化問題,例如將絕對路徑名解釋成相對路徑名或 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)識有效地運(yùn)行。如果您必須切換線程模型,請?jiān)谶M(jìn)行更改之前,先禁用該應(yīng)用程序并將其卸載。  

 

 

代碼示例
本代碼示例包含了一個(gè)函數(shù),它可刪除發(fā)送至該函數(shù)的字符串中的可能有害的字符。在上面的兩個(gè)示例中,指定代碼頁以確保正確地編碼。下面的示例使用的是 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;
  }
%>

 摘自網(wǎng)海之貝 

 

您可能感興趣的文章:
  • 用ASP開發(fā)網(wǎng)頁需要牢記的注意事項(xiàng)
  • ASP開發(fā)中存儲過程應(yīng)用全接觸
  • ASP開發(fā)中數(shù)據(jù)庫文件調(diào)用的捷徑
  • 動(dòng)態(tài)網(wǎng)站web開發(fā) PHP、ASP還是ASP.NET
  • ASP開發(fā)中可能遇到的錯(cuò)誤信息中文說明大全(整理收集)
  • ASP存儲過程開發(fā)應(yīng)用詳解
  • 支付寶 接口開發(fā)幫助(asp,php,asp.net,jsp)
  • ASP 常見對象總結(jié)(熟悉一下利用以后的開發(fā)使用)
  • ASP開發(fā)準(zhǔn)則是什么

標(biāo)簽:蚌埠 衡水 萍鄉(xiāng) 衢州 棗莊 廣元 大理 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP開發(fā)網(wǎng)頁牢記注意事項(xiàng)》,本文關(guān)鍵詞  ;如發(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)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266