ورود

View Full Version : مشکل در ارسال متن با تگ به سرور



d.borzouei
پنج شنبه 11 شهریور 1395, 10:59 صبح
سلام

من برای پست کردن یک فرم از حالت ajax تو View استفاده کردم که یک summernote به این صورت تعریف کردم

var handleSummernote = function () {
$('#Desc').summernote({
height: 300,
focus: true,
codemirror: {
theme: 'united'
}
});

}

در قسمت Action هم اینو دارم



[HttpPost,ValidateInput(false)]
public ActionResult AddPackage(PackageAddModel packageAddModel)
{


در مدل خودم


[AllowHtml]
public string Desc { get; set; }


این کد زمانی که تو سیستم خودم debug میکنم یعنی تو حالت local درست کار میکنه و مشکلی نیست دیتا میاد و ذخیره هم میشه

ولی زمانی که publish میرنم تو سرور خطا میده و این خطا رو بر میگردونه :ناراحت:



System.Web.HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (Desc="<p>توضیحات<span styl...").
at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
at System.Web.HttpValueCollection.GetValues(Int32 index)
at System.Collections.Specialized.NameValueCollection .Add(NameValueCollection c)
at System.Web.HttpRequest.FillInParamsCollection()
at System.Web.HttpRequest.GetParams()
at BehinehPortal.MvcApplication.Application_Authentic ateRequest(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep. System.Web.HttpApplication.IExecutionStep.Execute( )
at System.Web.HttpApplication.ExecuteStep(IExecutionS tep step, Boolean& completedSynchronously)


دوستان اگه کسی با این مورد بر خورد کرده خواهشن کمک کنه که قسمت مهم سایت با همین فرم که اونم از کار میوفته تو publish

سرور » ویندوز سرور 2012 r2
iis » Ver 8.5.9600
sql server << 2014

web config

<httpRuntime targetFramework="4.5.2" />

و اینم appSetting
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false" />
</appSettings>

Moien Tajik
پنج شنبه 11 شهریور 1395, 17:06 عصر
به این صورت امتحان کنید :
Web.Config :



<system.web>
...
<httpRuntime targetFramework="4.5.2" requestValidationMode="2.0" />
...
</system.web>


Controller :



[HttpPost]
[ValidateInput(false)]
public ActionResult MyMethod(string s)
{
....
}


https://blogs.msdn.microsoft.com/marcinon/2010/11/09/granular-request-validation-in-asp-net-mvc-3/
http://stackoverflow.com/a/17284049
http://codingstill.com/2013/01/avoiding-the-a-potentially-dangerous-request-form-value-was-detected/

d.borzouei
جمعه 12 شهریور 1395, 00:42 صبح
فقط نیاز به تغییر webconfig بود

مشکل برطرف شد . فقط چرا در حالت local جواب میداد ؟ به نسخه iis مربوطه آیا ؟

ممنون

Moien Tajik
جمعه 12 شهریور 1395, 01:07 صبح
فقط نیاز به تغییر webconfig بود

مشکل برطرف شد . فقط چرا در حالت local جواب میداد ؟ به نسخه iis مربوطه آیا ؟

ممنون

طبق گفته msdn درباره requestValidationMode="2.0" :



2.0. Request validation is enabled only for pages, not for all HTTP requests. In addition, the request validation settings of the pages element (if any) in the configuration file or of the @ Page directive in an individual page are used to determine which page requests to validate.


https://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.reques tvalidationmode.aspx