星期日, 4月 27, 2008

具有潛在危險 Request.Form 的值已從用戶端

前言:
在ASP.NET如果在POSTBACK時,在各欄位裡的值函有HTML的TAG
應該可常看到
具有潛在危險 Request.Form 的值已從用戶端
而使程式當掉,當真的需要處理這些時該怎麼辦呢?



藍色小鋪或是GOOGLE相關資料都有資料可供參考

1、單一頁面只要在該頁設計裡面的HTML上方加上

<%@ Page Language="VB" validaterequest="false" %>


2、要讓整個專案都可使用,請至web.cofig加上

<system.web >
<pages >

< validaterequest="false" >
</pages >
</system.web >



結語:
讓使用者可以用html的tag,其實是件很危險的事情。
可避免就免,如果真的要使用也有替代的方式。
1、真的需要html的換行br或是p的功能
  a、在輸入頁時可以使用[br][p]等自訂字串來替代。
  b、在顯示頁將[br][p]等自訂字串取代為html的tag

2、只是為了顯示為目的。<<br>>
  a、在輸入頁使用server.HtmlEncode
  b、在顯示頁用即可看到<br>

沒有留言:

Analytics