У меня есть веб-приложение django, которое я хочу разрешить пользователям вводить HTML, CSS и JS в текстовые области, а затем отображать их в iFrame. Как мне сделать это безопасно?
Хороший вопрос. Это может помочь вам предотвратить XSS. В любом случае вот маленький пример. Здесь я использовал Div вместо iFrame
Div
iFrame
<h1>Unsafe Mode:</h1> <p> Enter HTML Code below </p> <textarea cols=50 rows=5 id='unsafecode'> </textarea> <br> <button onclick='show_unsafe()'>Show Code</button> <br> <div id='unsafecont'> </div> <br> <h1>Safe Mode:</h1> <p> Enter HTML Code below </p> <textarea cols=50 rows=5 id='safecode'> </textarea> <br> <button onclick='show_safe()'>Show Code</button> <br> <div id='safecont'> </div> <script> function show_unsafe(){ document.getElementById('unsafecont').innerHTML=document.getElementById('unsafecode').value; } function show_safe(){ document.getElementById('safecont').innerText=document.getElementById('safecode').value; } </script>