当前位置:  开发笔记 > 前端 > 正文

除了<script>标签之外,我应该删除哪些内容以确保用户输入的HTML是安全的?

如何解决《除了<script>标签之外,我应该删除哪些内容以确保用户输入的HTML是安全的?》经验,为你挑选了2个好方法。

我有一个应用程序,重新处理HTML,以便做出漂亮的排版.现在,我想把它放在网上让用户输入他们的文字.所以这就是问题:我非常确定我想要删除SCRIPT标签,以及关闭像这样的标签.但是我应该删除什么以使其完全安全?



1> Tom Ritter..:

哦,好主你搞砸了.快来看看这个

基本上,你想要剥离的东西太多了.此外,有些东西是有效的,但可能会以恶意方式使用.如果用户想要在脚注上设置较小的字体大小,该怎么办?你是否关心是否适用于整个页面?设置颜色怎么样?现在,您页面上的所有单词都是白色背景上的白色.

我会再次研究需求阶段.

像降价的替代品可能吗?

您是否可以限制访问最终内容,降低曝光风险?(意思是,你可以设置它,这样用户只能拧自己,不能伤害别人吗?)



2> Adam Matan..:

您应该使用白名单而不是黑名单方法:确定需要哪些功能,而不是尝试阻止任何不需要的功能.

列出与您的应用程序匹配的所需印刷功能.请注意,可能没有一个通用的列表:它取决于网站的性质(编程问题?青少年的博客?)和文本框的性质(你是留下评论或撰写文章?).您可以在开源CMS中查看一些优秀且有用的文本框.

现在,您必须在自己的标记语言和HTML之间进行选择.我会选择一种标记语言.优点是更好的安全性,缺点是无法添加意想不到的互联网内容,如YouTube视频.防止用户愤怒的好主意是添加"HTML to my-site"功能,将相应的HTML标记转换为标记语言,并删除所有其他标记.

HTML的优点是与标准的一致性,对新内容类型的可扩展性和简单性.最大的问题是代码注入安全问题.如果你选择HTML标签,尝试采用一些工作系统来过滤HTML(我认为Drupal在这种情况下做得相当不错).

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有