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

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

開發(fā) 后端
本文介紹ASP.NET阻止Java Script注入式攻擊,為此,無論你何時通過一個視圖顯示檢索自某一個用戶的文本,請確保一定調用了Html.Encode()。

ASP.NET MVC并不支持請求校驗

對于一個ASP.NET MVC應用程序來說,上述情況顯得更為類銳。因為在一個傳統(tǒng)型ASP.NETWeb表單應用程序中(不像一個ASP.NET MVC應用程序),你可以依賴于一種稱為請求校驗的系統(tǒng)特征。請求校驗會自動檢測是否表單數(shù)據(jù)來自于一個包含危險的搜索文本的頁面。如果你提交了這種包含危險數(shù)據(jù)的表單數(shù)據(jù)(例如包括了類括號<或>等字符),那么系統(tǒng)會自動拋出一個異常。

但是,請注意ASP.NET MVC框架目前還沒有提供這種請求校驗技術。所以,需要由你自己來完全承擔這一責任來阻止對一個ASP.NET MVC應用程序的Java Script注入式攻擊。

阻止Java Script注入式攻擊

阻止Java Script注入攻擊其實是很簡單的。為此,無論你何時通過一個視圖顯示檢索自某一個用戶的文本,請確保一定調用了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> 

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

為了阻止Java Script注入式攻擊,你需要使用Html.Encode()輔助方法。下面展示了編寫這種循環(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> 

應該對什么內容進行編碼

注意,我并沒有對前一節(jié)中的EntryDate屬性進行編碼。這里存在兩個原因說明當在一個頁面中顯示這個EntryDate屬性時我們不需要對這個屬性進行編碼。

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

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

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

此外,你還應該擔心超級鏈接的問題。因為大多數(shù)博客應用程序都支持匿名用戶把一個超級鏈接提交到他們的網(wǎng)站—當他們對一個博客提交相應的注釋信息時。這種情況下,一個黑客就有可能把惡意的Java Script加入到該鏈接中。下面是一個簡單的示例:

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

當你點擊這個鏈接時,即執(zhí)行JavaScript代碼。當然,在本文示例中不會發(fā)生任何惡意的事情。然而,你能夠從頁面上執(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
責任編輯:佚名 來源: IT168
相關推薦

2009-03-23 16:06:51

2011-10-21 12:19:48

2011-01-26 11:09:07

2009-07-27 14:13:56

調用c#方法Java scriptASP.NET

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-07-29 17:11:25

ASP.NET ISA

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

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-07-20 15:30:11

ASP.NET應用

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜av免费 | 欧美精品一二三 | 午夜手机在线视频 | 欧美日韩综合一区 | 亚洲男人天堂 | 亚洲一区二区三区免费在线观看 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 中文字幕av亚洲精品一部二部 | 日韩欧美国产不卡 | 51ⅴ精品国产91久久久久久 | 成人在线视频免费观看 | 麻豆国产一区二区三区四区 | 亚洲国产精品视频 | 久久人人网 | av中文字幕在线观看 | 欧美精品一区二区三区蜜臀 | 国产精品久久久久久久久免费相片 | 午夜精品影院 | 国产精品中文字幕在线播放 | 黄色av观看 | 国产精品视频中文字幕 | 超碰人人艹 | 免费v片在线观看 | 91在线视频观看免费 | 一区二区三区国产精品 | 久久一级免费视频 | 免费看a| 99久久精品国产一区二区三区 | 鸳鸯谱在线观看高清 | 日韩一区二区三区在线观看 | 羞羞视频免费观看 | 日韩有码一区二区三区 | 午夜精品在线观看 | av免费观看网站 | 精品一区二区三区在线观看 | 99综合| 欧美色综合网 | 高清人人天天夜夜曰狠狠狠狠 | av性色全交蜜桃成熟时 | 精品久久香蕉国产线看观看亚洲 | 国产一区二区三区在线视频 |