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

在插入数据库而不是输出之前逃避HTML是一个坏主意吗?

如何解决《在插入数据库而不是输出之前逃避HTML是一个坏主意吗?》经验,为你挑选了2个好方法。

我一直在研究一个不允许HTML格式化的系统.我目前使用的方法是在HTML实体插入数据库之前将其转义.我被告知我应该将原始文本插入数据库,并在输出时转义HTML实体.

我在这里看到的其他类似问题看起来像HTML仍然可以用于格式化的情况,所以我要求的情况是根本不会使用HTML.



1> alex..:

是的,因为在某个阶段您需要访问输入的原始输入.这是因为...

你永远不知道你想如何显示它 - 用JSON,HTML,作为短信?

可能需要按原样将其显示给用户.

我确实看到了你从不想输入HTML的观点.你还用什么去剥离HTML标签?如果它是正则表达式,那么请留意可能输入类似内容的混淆用户...

3<4 :->

3如果它是一个正则表达式,他们只会得到它.


+1!我同意.再加上你改变你如何逃避的情况,或者你后来决定你想要允许某些标签,比如``,``,``和` `.在出路上逃避数据是面向未来的.

2> knittl..:

在插入数据库之前执行转义时,您也会限制自己.假设您决定不使用HTML作为输出,而是使用JSON,纯文本等.

如果你已经在你的数据库中存储了转义的html,你首先必须'unescape'存储在数据库中的值,只是为了再次将它重新转换为不同的格式.

还看到了关于xss预防的完美owasp文章

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