Dmi*_*ruk 2 html security typography
我有一个应用程序,重新处理HTML,以便做出漂亮的排版.现在,我想把它放在网上让用户输入他们的文字.所以这就是问题:我非常确定我想要删除SCRIPT标签,以及关闭像</ form>这样的标签.但是我应该删除什么以使其完全安全?
您应该使用白名单而不是黑名单方法:确定需要哪些功能,而不是尝试阻止任何不需要的功能.
列出与您的应用程序匹配的所需印刷功能.请注意,可能没有一个通用的列表:它取决于网站的性质(编程问题?青少年的博客?)和文本框的性质(你是留下评论或撰写文章?).您可以在开源CMS中查看一些优秀且有用的文本框.
现在,您必须在自己的标记语言和HTML之间进行选择.我会选择一种标记语言.优点是更好的安全性,缺点是无法添加意想不到的互联网内容,如YouTube视频.防止用户愤怒的好主意是添加"HTML to my-site"功能,将相应的HTML标记转换为标记语言,并删除所有其他标记.
HTML的优点是与标准的一致性,对新内容类型的可扩展性和简单性.最大的问题是代码注入安全问题.如果你选择HTML标签,尝试采用一些工作系统来过滤HTML(我认为Drupal在这种情况下做得相当不错).