成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET阻止Java Script注入式攻擊

開(kāi)發(fā) 后端
本文介紹ASP.NET阻止Java Script注入式攻擊,為此,無(wú)論你何時(shí)通過(guò)一個(gè)視圖顯示檢索自某一個(gè)用戶的文本,請(qǐng)確保一定調(diào)用了Html.Encode()。

ASP.NET MVC并不支持請(qǐng)求校驗(yàn)

對(duì)于一個(gè)ASP.NET MVC應(yīng)用程序來(lái)說(shuō),上述情況顯得更為類銳。因?yàn)樵谝粋€(gè)傳統(tǒng)型ASP.NETWeb表單應(yīng)用程序中(不像一個(gè)ASP.NET MVC應(yīng)用程序),你可以依賴于一種稱為請(qǐng)求校驗(yàn)的系統(tǒng)特征。請(qǐng)求校驗(yàn)會(huì)自動(dòng)檢測(cè)是否表單數(shù)據(jù)來(lái)自于一個(gè)包含危險(xiǎn)的搜索文本的頁(yè)面。如果你提交了這種包含危險(xiǎn)數(shù)據(jù)的表單數(shù)據(jù)(例如包括了類括號(hào)<或>等字符),那么系統(tǒng)會(huì)自動(dòng)拋出一個(gè)異常。

但是,請(qǐng)注意ASP.NET MVC框架目前還沒(méi)有提供這種請(qǐng)求校驗(yàn)技術(shù)。所以,需要由你自己來(lái)完全承擔(dān)這一責(zé)任來(lái)阻止對(duì)一個(gè)ASP.NET MVC應(yīng)用程序的Java Script注入式攻擊。

阻止Java Script注入式攻擊

阻止Java Script注入攻擊其實(shí)是很簡(jiǎn)單的。為此,無(wú)論你何時(shí)通過(guò)一個(gè)視圖顯示檢索自某一個(gè)用戶的文本,請(qǐng)確保一定調(diào)用了Html.Encode()。

例如,下面是Index視圖的一部分,用于顯示顧客的回饋信息:

  1. <h1>顧客回饋信息</h1> 
  2. <ul> 
  3. <%foreach(SurveysurveyinViewData.Model)  
  4. {%> 
  5. <li> 
  6. <%=survey.EntryDate.ToShortDateString()%> 
  7. &mdash;  
  8. <%=survey.Feedback%> 
  9. </li> 
  10. <%}%> 
  11. </ul> 

這段代碼包含了一個(gè)foreach循環(huán),它循環(huán)搜索Survey實(shí)體。每一個(gè)Survey實(shí)體的Feedback和EntryDate屬性的值都會(huì)被顯示出來(lái)。

為了阻止Java Script注入式攻擊,你需要使用Html.Encode()輔助方法。下面展示了編寫(xiě)這種循環(huán)的正確方法:

  1. <h1>CustomerFeedback</h1> 
  2. <ul> 
  3. <%foreach(SurveysurveyinViewData.Model)  
  4. {%> 
  5. <li> 
  6. <%=survey.EntryDate.ToShortDateString()%> 
  7. &mdash;  
  8. <%=Html.Encode(survey.Feedback)%> 
  9. </li> 
  10. <%}%> 
  11. </ul> 

應(yīng)該對(duì)什么內(nèi)容進(jìn)行編碼

注意,我并沒(méi)有對(duì)前一節(jié)中的EntryDate屬性進(jìn)行編碼。這里存在兩個(gè)原因說(shuō)明當(dāng)在一個(gè)頁(yè)面中顯示這個(gè)EntryDate屬性時(shí)我們不需要對(duì)這個(gè)屬性進(jìn)行編碼。

首先,一個(gè)網(wǎng)站訪問(wèn)者沒(méi)有輸入這個(gè)EntryDate屬性的值。該EntryDate屬性的值是通過(guò)你的代碼創(chuàng)建的。在這種情況下,一個(gè)黑客是不能輸入惡意的代碼。

假定一個(gè)網(wǎng)站訪問(wèn)者的確輸入了該EntryDate屬性的值。因?yàn)樵揈ntryDate是作為一個(gè)DateTime類型存儲(chǔ)于SQLServer數(shù)據(jù)庫(kù)中的,所以,一個(gè)黑客也不能把惡意的代碼加入到此EntryDate屬性中。因此,當(dāng)你顯示它時(shí)你不需要擔(dān)心對(duì)這個(gè)屬性進(jìn)行編碼的問(wèn)題。

一般來(lái)說(shuō),當(dāng)一個(gè)用戶通過(guò)表單上的文本框輸入待提交的內(nèi)容時(shí)才是你應(yīng)該真正擔(dān)心Java Script注入式攻擊的時(shí)候。例如,這樣情況下你應(yīng)該擔(dān)心用戶名稱的顯示問(wèn)題。如果你允許一個(gè)用戶創(chuàng)建他們自己的用戶名,那么,一個(gè)用戶有可能會(huì)潛在地把一個(gè)惡意的Java Script字符串加入到他們的用戶名(或添加一個(gè)指向一個(gè)色情圖像的圖像標(biāo)簽)。

此外,你還應(yīng)該擔(dān)心超級(jí)鏈接的問(wèn)題。因?yàn)榇蠖鄶?shù)博客應(yīng)用程序都支持匿名用戶把一個(gè)超級(jí)鏈接提交到他們的網(wǎng)站—當(dāng)他們對(duì)一個(gè)博客提交相應(yīng)的注釋信息時(shí)。這種情況下,一個(gè)黑客就有可能把惡意的Java Script加入到該鏈接中。下面是一個(gè)簡(jiǎn)單的示例:

  1. <a href="javascript:alert('Something Evil!')">Mr. Hacker</a> 

當(dāng)你點(diǎn)擊這個(gè)鏈接時(shí),即執(zhí)行JavaScript代碼。當(dāng)然,在本文示例中不會(huì)發(fā)生任何惡意的事情。然而,你能夠從頁(yè)面上執(zhí)行的確可以竊取表單數(shù)據(jù)或cookies的代碼。以上是介紹ASP.NET阻止Java Script注入式攻擊。

【編輯推薦】

  1. 淺談ASP.NET MVC框架
  2. 介紹ASP.NET MVC中的MvcAjaxPanel
  3. ASP.NET MVC框架拯救UpdatePanel
  4. 用ASP.NET MVC源代碼尋找解決方案
  5. ASP.NET MVC框架的ActionInvoker
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-03-23 16:06:51

2011-10-21 12:19:48

2009-07-27 14:13:56

調(diào)用c#方法Java scriptASP.NET

2011-01-26 11:09:07

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2010-09-25 15:40:54

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2010-02-25 21:28:04

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)

2009-07-29 17:11:25

ASP.NET ISA

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-28 09:02:32

asp.net aja

2009-08-03 17:35:07

ASP.NET WebASP.NET編程工具

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-20 15:30:11

ASP.NET應(yīng)用

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久久网站 | 精品国产鲁一鲁一区二区张丽 | 国产精品成人在线播放 | 久久久久国产 | 欧美a级成人淫片免费看 | 特级做a爰片毛片免费看108 | 中文字幕啪啪 | 狠狠操网站| av三级 | 国产精品久久久av | 精品一区二区三区四区 | 神马久久久久久久久久 | 亚洲国产精品一区二区三区 | 国产高清免费 | 久久久久久国产精品 | 日韩久久久久久 | 国产精品久久久久久久一区二区 | 婷婷在线视频 | 久草福利 | 亚洲一区二区三区高清 | 日本免费一区二区三区 | 国产精品成人久久久久 | 综合国产 | 国产精品久久久久久238 | 亚洲人在线| 国产在线资源 | 国产精品伦理一区二区三区 | 91精品久久久久久久久中文字幕 | 三级在线观看 | 爱爱爱av| 欧美精品在线一区 | 亚洲成人精品久久 | 国产精品久久久久一区二区 | 91免费看片 | 欧美日韩高清在线一区 | 欧美亚洲国产一区二区三区 | 国产成在线观看免费视频 | 成人精品一区二区三区中文字幕 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 91免费小视频 | 欧美日产国产成人免费图片 |