2011-01-07 20 views
10

tespit edildi Ben MVC.NET sitemde wysiwyg editörü olarak CKEditor/CKFinder kullanıyorum. Yayınlanmış sitesi lokal olarak siteden neden farklı olduğunuPotansiyel olarak tehlikeli bir Request.Form değeri, istemciden

A potentially dangerous Request.Form value was detected from the client (message="<p> 
<em>Testing</e..."). 

kimse açıklayabilir:

Ben [ValidateInput(false)] belirledik ve yerel olarak ayıklarken çalıştığını, ama ben siteyi yayınladık aşağıdaki hatayı alıyorsunuz özellikle [ValidateInput(false)]'u ayarladıktan sonra?

* Güncelleme: * Kullanıyorum. Net 3.5 yani [ValidateInput(false)] kutunun dışında çalışmamalı?

+0

tümü üzerinde doğrulama devre dışı bırakmaz eylemden önce '[ValidateInput (false)]' seçeneğini belirtmediğiniz sürece sayfalar. – Vishal

+1

Yayımlanan sitenizin kullandığı .NET AppPool'un .NET 4.0 altında çalışmıyor olduğunu doğrulayabilir misiniz? Tahmin ediyorum. –

+0

Teşekkürler, görünüşe göre hos koştu. Net 4.0. – Dofs

cevap

7

web.config için bu ekleyin:

<httpRuntime requestValidationMode="2.0" /> 
+0

Üzgünüz, tüm sayfalarda devre dışı bırakmak istemediğimi belirtmeyi unuttum. Ayrıca benim sorum da, ne zaman yayınlanmasından daha fazla hata ayıklama olduğunda farklıydı. – Dofs

+0

bu, tüm sayfalar için geçerli olmaz. Bu sadece [ValidateInput (false)] çalışmasını yapacaktır. http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInASPNETIISRequestURL.aspx –

+0

MVC.Net 3.5 kullanıyorum, bu yüzden [ValidateInput (false)] kutudan çıkarılmamalıdır? – Dofs

21

Eğer htmlEncodeOutput özelliğini ayarlayarak denediniz mi?

> CKEDITOR.replace('editor1', { 
> htmlEncodeOutput: true }); 

Bu, çıkışı kodlamalıdır ve requestValidationMode'u ayarlamayı önlemek gerekir.

bunun için

Belgeler burada : ckEditor documentation

+6

+1, bu benim görüşüme göre onaylamayı devre dışı bırakmaktan daha iyidir. – ashes999

+1

@ ashes999 ile katılıyorum. Mesajın gelecekteki okuyucularına yardımcı olacak iki gösterge ** 1 'editor1' cktortor kontrolünün id iddiasıdır ** 2 ** POST'tan sonra alınan değeri _System.Net.WebUtility.HtmlDecode_ ile kod çözmeyi unutmayın. Muhtemelen aynı hatayı almaya devam edeceğim. –

+0

CKEDITOR.replace() kullanmıyorum,