ดังที่เราทุกคนรู้แล้วว่าการโจมตี XSS นั้นอันตรายและง่ายต่อการดึงออกมา กรอบงานที่หลากหลายทำให้ง่ายต่อการเข้ารหัส HTML เช่นเดียวกับ ASP.NET MVC
<%= Html.Encode("string"); %>
แต่จะเกิดอะไรขึ้นเมื่อลูกค้าของคุณต้องการให้พวกเขาสามารถอัปโหลดเนื้อหาของพวกเขาได้โดยตรงจากเอกสาร Microsoft Word
นี่คือสถานการณ์: ผู้คนสามารถคัดลอกและวางเนื้อหาจาก Microsoft word ลงในโปรแกรมแก้ไขแบบ WYSIWYG (ในกรณีนี้คือtinyMCE ) จากนั้นข้อมูลจะถูกโพสต์ไปยังหน้าเว็บ
เว็บไซต์เป็นสาธารณะ แต่เฉพาะสมาชิกขององค์กรนั้นเท่านั้นที่สามารถเข้าถึงโพสต์ข้อมูลไปยังหน้าเว็บได้
ฉันจะจัดการกับข้อกำหนดเหล่านี้อย่างปลอดภัยได้อย่างไร ขณะนี้ไม่มีการตรวจสอบสิ่งที่ลูกค้าโพสต์ (เนื่องจากมีเพียงผู้ใช้ที่ 'เชื่อถือได้' เท่านั้นที่สามารถโพสต์ได้) แต่ฉันไม่พอใจโดยเฉพาะอย่างยิ่งและต้องการล็อคมันเพิ่มเติมในกรณีที่บัญชีถูกแฮ็ค
วิธีการทางความคิดเพียงอย่างเดียวที่ฉันรู้ว่าตรงตามข้อกำหนดเหล่านี้คือการอนุญาตแท็ก HTML และอนุญาตให้ผ่านได้ มีวิธีอื่นอีกไหม? หากไม่เป็นวิธีที่ปลอดภัยในการปล่อยให้ผู้ใช้เก็บข้อมูลลงในฐานข้อมูลในรูปแบบใด แต่แสดงเฉพาะการเข้ารหัสที่ถูกต้องและแยกแท็กที่ไม่ถูกต้อง