Как безопасно отображать пользовательский HTML / CSS / JS для пользователей - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть веб-приложение django, которое я хочу разрешить пользователям вводить HTML, CSS и JS в текстовые области, а затем отображать их в iFrame. Как мне сделать это безопасно?

1 Ответ

0 голосов
/ 09 сентября 2018

Хороший вопрос. Это может помочь вам предотвратить XSS. В любом случае вот маленький пример. Здесь я использовал 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...