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

本文详细介绍了在.NET Framework 1.1中遇到的具有潜在危险的Request.Form值问题,该问题源于微软为了防止SQL注入等攻击而增加的安全检查。文章提供了两种解决方案,一种是在特定页面禁用请求验证,另一种是在整个项目中允许TextBox输入HTML。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


若您採用的是 .NET Framework 1.1,則範例光碟或網站元件會發生底下這個問題:

具有潛在危險 Request.Form 的值已從用戶端............ 偵測到。
描述: 要求驗證偵測到具有潛在危險的用戶端輸入值,對這個要求的處理已經中止。
這個值可能表示有人嘗試危害應用程式的安全性,例如跨站台的指令碼處理攻擊。您
可以在 Page 指示詞或 組態區段中設定 validateRequest=false 來停用要求驗證。
但是我們強列建議您的應用程式應該明確地檢查所有這類的輸入。


這是由於在 .NET Framework 1.1 微軟加入了一個額外的檢查,使得 TextBox之類的控制項中不得有任何的 HTML 碼。這是避免類似 SQL Inject 之類的駭客攻擊。

您可以測試,在 1.1 環境中,只要在 TextBox 中輸入 <br>或<font>,只要任何的HTML指令都會造成這個問題,詳細的資訊可以參考:http://www.asp.net/faq//RequestValidation.aspx

解決方式可依照訊息所說,在使用到該控制項,或是TextBox需要輸入HTML指令的aspx檔案中的第一行Page 項目中,加入:
<%@ Page validateRequest="false" %>
一般來說該行已經有資料,修改完後會變成:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="default.aspx.vb" Inherits="book._default22" validateRequest="false" %>
或者,乾脆讓整個專案中的TextBox都可以輸入HTML,則將 web.config 檔案<system.web>和</system.web>之間加入這一行:
<pages validateRequest="false" />
成為:
<system.web>
....
<pages validateRequest="false" />
....
</system.web>
這樣整個專案中所有的TextBox都可以輸入HTML碼。

转载于:https://www.cnblogs.com/llbofchina/archive/2005/11/18/279462.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值