2010-11-22 5 views
7

मैं HTML.extAreaForwithout एन्कोडिंग का उपयोग कैसे कर सकता हूं? मुझे पता है कि यह एक सुरक्षा जोखिम है लेकिन मेरे पास एक अलग वर्ग है जो किसी भी पाठ को स्वच्छ करता है।एएसपी.नेट एमवीसी 3, एचटीएमएल .क्स्टअरेआ बिना एन्कोडिंग के?

उदाहरण:

@ Html.TextAreaFor (मॉडल => model.PostBodyText, 10, 100, 1)

मैं TinyMCE के साथ इसका इस्तेमाल करने की योजना बना रहा हूँ।

सादर रेवेन

अद्यतन मैं नए उस्तरा दृश्य इंजन का उपयोग कर रहा हूँ।

उत्तर

9

आप अपनी खुद की रोल करने की आवश्यकता होगी:

<textarea cols="100" id="PostBodyText" name="PostBodyText" rows="10"> 
    @MvcHtmlString.Create(Model.PostBodyText) 
</textarea> 
बेशक

सुरक्षा के मामले में यह आपकी साइट के रूप में बहुत खतरनाक हो सकता है अब XSS हमलों के लिए असुरक्षित है। तो सवाल यह है कि क्यों एक अलग वर्ग है जो सभी पाठों को स्वच्छ करता है जब आप आसानी से एचटीएमएल हेल्पर्स पर भरोसा कर सकते हैं ताकि आप नौकरी कर सकें?

+0

धन्यवाद .... आपको अपनाना होगा लेकिन मैं साइट पर नया हूं :) – RaVen

+0

@RaVen, कोई समस्या नहीं, जब आप प्रश्न पूछते हैं और जवाब स्वीकार करते हैं तो आपको प्रतिष्ठा मिलती है। –

+0

हाँ मुझे पता है लेकिन मैं किसी भी जावास्क्रिप्ट टैग को फ़िल्टर कर रहा हूं ... मैं केवल कुछ सुरक्षित HTML टैग की अनुमति देता हूं। लेकिन हाँ TinyMCE एक सुरक्षा दोष पैदा कर सकता है। फिर बहुत बहुत धन्यवाद। :) – RaVen

1

वैकल्पिक विकल्प के रूप में आप here वर्णित वैलीडेटेट इनपुट का उपयोग करना चाहेंगे। एमवीसी शैली में एक उदाहरण होगा:

[ValidateInput(false)] 
public ActionResult Method(){ 
    return View() 
} 

[ValidateInput(false)] 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Method(){ 
    // your stuff here 
    RedirectToAction("index"); // or something 
} 

मुझे लगता है कि जाने के लिए एमवीसी तरीका अधिक है। अब आपका नियंत्रक आपको बताता है कि उस नियंत्रक विधि में एक सुरक्षा समस्या है। आपका विचार एचटीएमएल हेल्पर्स इत्यादि का उपयोग करके कोई सामान्य दृश्य हो सकता है। ध्यान दें कि यह सभी प्रकार के इनपुट को सक्षम करता है, फ़िल्टर नहीं किया जाता है। यह TinyMCE के साथ काम करेगा हालांकि

// संपादित

ओह मैं तुम्हें

<httpRuntime requestValidationMode="2.0"/> 

MVC के नए संस्करणों के साथ-साथ webconfig को जोड़ने की जरूरत है देखते हैं। मान लीजिए कि यह जाने का रास्ता नहीं हो सकता है।

+0

यह बिल्कुल सही है। [ValidateInput (false)] HTML को आपके फ़ॉर्म में पोस्ट करने की अनुमति देगा। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^