エラー対応の最新の日記
<< 前の日記へ 一覧を見る 次の日記へ >>

 

危険な可能性のある Request.Form 値 エラー

環境】 
windows 2003 + IIS
ASP.NET
VB.NET


エラー内容】
事象としては フォーム入力をした際にうまくページ遷移せずエラーとなる

エラー内容を確認すると

危険な可能性のある Request.Form 値がクライアント ("●●●") から検出されました。
Source:System.Web
Stack: at System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)
at System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName)
at System.Web.HttpRequest.get_Form()
at System.Web.UI.Page.GetCollectionBasedOnMethod()
at System.Web.UI.Page.DeterminePostBackMode()
at System.Web.UI.Page.ProcessRequestMain()

とでている

【内容・推測】
.net の仕様でセキュリティチェックがされる
デフォルトでチェックされるようになっている

対応
C:\WINDOWS\Microsoft.NET\Framework\V999999\CONFIG\machine.config
の ValidateRequest の値がデフォルトで true になっているので falseにする(validateRequest="false")

ASPXの最初の行の <@ Page >タグ内に記述する
記述例(最後の ValidateRequest="False" ):
<%@ Page CodeBehind="XXXXXX.vb" Language="vb" AutoEventWireup="false" Inherits="XXXX.YYYY" trace="False" ValidateRequest="False" %>

注意:999999は.netのバージョン

コメント

emsi 2010-03-25 14:56:00

とても参考になりました!
ありがとうございました^^

コメントできません (ログインするとコメントできます)