人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

用ASP.NET 1.1 新特征防范Script攻擊

用ASP.NET 1.1 新特征防范Script攻擊

更新時間:2022-07-31 文章作者:未知 信息來源:網絡 閱讀次數:

    網站的安全,很多時候,幾乎代表了一個單位網絡的安全。對于將網站作為企業對外形象的企業或者政府而言,網站安全更加重要。現在很多網站都安裝了防火墻等安全設備,可是,一些簡單的進攻,反而頗為讓人傷腦筋。比如,通過網站,提交惡意代碼,這就是比較難以防范的一種進攻,一個比較簡單的具體舉例,在需要用戶提交EMAil地址的數據項,如果用戶提交以下信息:<SCRIPT>alert(“hello from script”)</SCRIPT>,結果會怎樣呢?當別的用戶進入含有這個信息的頁面的時候,就會見到一個彈出信息,這是以上提交的惡意代碼直接運行的結果,如果這樣的代碼稍微改動,更加復雜一點,破壞效果自然更加驚人。程序員在設計程序的時候,如果沒有較好考慮對用戶提交信息進行適當的檢測,很容易就會因為程序的不健全而導致不可預料的后果。在ASP和ASP.NET1.0或者其他任何開發工具中,我們不得不在程序中采用一些技巧來防范用戶提交的惡意代碼,而程序設計的原則就是“假定每一個用戶提交的信息都是惡意的”,所以,程序員不得不拿出部分精力來做提交信息的檢測工作。而在最新發布的ASP.NET1.1中,這樣的檢測就簡單甚至是不必了。現在,我們來看一個具體的例子:

以上的代碼很簡單,就是將用戶輸入的信息進行現實,運行以后是這樣的:

以上我們輸入一個簡單的“Hello world”,可以看到,頁面很正常的進行了顯示,那么,如果我們輸入“<script>alert("hello!")</script>”會怎樣呢?現在就來看看運行結果:

很明顯,是一個錯誤信息:“potentially dangerous Request.Form value was detected…”意思是用戶提交的信息有潛在的危險,所以,不予提交。這就是Asp.NET的最新特征之一,將用戶提交信息的潛在危險排除到最小,當然,要使用這個最新特征是很簡單的,直接在頁面中可以這樣設定:

<%@ Page validateRequest="true" %>

或者,也可以在網站配置文件Web.config中設定:

<configuration>

<system.web>

<pages validateRequest="true" />

</system.web>

</configuration>

當然,要取消這個特征也是可以的,直接在以上設定中將False改為True就可以了。我們強烈建議將以上特征打開,設置為True,對每一個用戶的輸入進行檢測。現在,我們看看如果用戶現在關閉以上特征,頁面運行會有怎樣的結果:

可以看到,以上頁面運行以后,出現了用戶輸入直接運行的結果:彈出一個提示信息。

那么,如果用戶不希望使用Asp.NET1.1的以上新特征,而又希望可以比較好的實現程序的安全性,應該怎樣做呢?可以直接使用Server.HtmlEncode(string)來現實,將所有用戶的輸入信息轉換為HTML格式,也就是原封不動(現實出來和輸入的一樣)的現實用戶輸入的信息而不對惡意代碼進行運行。現在,我們來看一個舉例:

以上代碼和前面提到的代碼唯一的區別就是對用戶輸入進行了HTML編碼,運行結果如下:

我們可以看到,用戶帶有潛在危險的輸入,已經完全被避免了。以上方式和采用ASP.NET1.1的新特征相比,有什么不一樣呢?以上方式依然接受用戶輸入,只是將危險代碼進行了修改;而使用ASP.NET1.1的新特征,危險代碼是完全拒之門外的,不會對數據進行處理。

以上我們試驗了ASP.NET1.1的最新功能,并將它與別的技術進行了對比。編程中,我們建議直接使用ASP.NET1.1提供的新特征來實現危險排除,而不是采用HTML編碼的方式。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 阳谷县| 山阴县| 遂昌县| 闵行区| 镇沅| 化隆| 怀宁县| 双辽市| 徐水县| 盱眙县| 伽师县| 原平市| 革吉县| 溆浦县| 阿尔山市| 岐山县| 巴林右旗| 新密市| 革吉县| 乌鲁木齐市| 五原县| 汾阳市| 虹口区| 敦化市| 灌阳县| 宣威市| 维西| 宁夏| 永新县| 新密市| 延吉市| 隆化县| 家居| 惠安县| 蓬莱市| 女性| 阜宁县| 溆浦县| 中阳县| 开封市| 潞西市|