जैसा कि आपने @Developer के उत्तर पर उल्लेख किया है, मैं संभवतः उपयोगकर्ता इनपुट पर HTML-एनकोड करूंगा। यदि आप XSS के बारे में चिंतित हैं, तो संभवतः आपको उपयोगकर्ता के इनपुट की मूल रूप में आवश्यकता नहीं है, इसलिए आप इसे बच सकते हैं (और जब आप इस पर होते हैं तो रिक्त स्थान और नई सूचियों को बदल सकते हैं)।
ध्यान दें कि इनपुट पर भागने का मतलब है कि आपको उस विशेष इनपुट को रेंडर करने के लिए @ Html.Raw का उपयोग करना चाहिए या MvcHtmlString बनाना चाहिए।
आप भी आजमा सकते हैं
System.Security.SecurityElement.Escape(userInput)
लेकिन मुझे लगता है कि यह या तो रिक्त स्थान से नहीं बचेंगे। तो उस स्थिति में, मेरा सुझाव है कि बस एक .NET करो
System.Security.SecurityElement.Escape(userInput).Replace(" ", " ").Replace("\n", "<br>")
उपयोगकर्ता इनपुट पर और यदि आप प्रयोज्य में गहरी खुदाई करना चाहते हैं, तो शायद आप उपयोगकर्ता के इनपुट का XML पार्स (या नियमित भावों के साथ खेल) केवल टैग के पूर्वनिर्धारित सेट की अनुमति दे सकते हैं। उदाहरण के लिए, अनुमति दें
<p>, <span>, <strong>
... लेकिन अनुमति नहीं है
<script> or <iframe>