我有我的网站项目,用户可以对帖子发表评论。我想允许用户提交YouTube视频。我想在iframe中显示它们,以便其他人看到视频的漂亮窗口。
但这意味着用户可以使用所有HTML标签和脚本来利用网站?
这样的东西
< a href="">< script>alert();< /script>">
哪会打破网站...
我有什么方法可以解决这个问题?
我想确保用户不能使用任何标签..但是当发布链接时,它会将其包装在iframe中。
我想到的一种方法就是只为将包含在iframe中的网址添加单独的输入窗口。但这使一切变得复杂。我还想坚持一个评论窗口。
答案 0 :(得分:0)
<iframe>
。这是一个非常简单的JavaScript示例。
https://jsfiddle.net/ntgs3ypt/
var comment = document.querySelector('textarea');
var output = document.querySelector('div');
var str = comment.value;
var regex = /(https:\/\/www.youtube.com\/embed\/\w*)/;
if (regex.test(str)) {
str = str.replace(regex, '<iframe width="560" height="315" src="$1" frameborder="0" allowfullscreen></iframe>');
output.innerHTML = str;
}
&#13;
textarea {
width: 100%;
}
&#13;
<textarea name="comment">Lorem ipsum dolor https://www.youtube.com/embed/mr7FXvTSYpA lorem ipsum dolor</textarea>
<div class="output"></div>
&#13;