我一直在研究一个不允许HTML格式化的系统.我目前使用的方法是在HTML实体插入数据库之前将其转义.我被告知我应该将原始文本插入数据库,并在输出时转义HTML实体.
我在这里看到的其他类似问题看起来像HTML仍然可以用于格式化的情况,所以我要求的情况是根本不会使用HTML.
是的,因为在某个阶段您需要访问输入的原始输入.这是因为...
你永远不知道你想如何显示它 - 用JSON,HTML,作为短信?
您可能需要按原样将其显示给用户.
我确实看到了你从不想输入HTML的观点.你还用什么去剥离HTML标签?如果它是正则表达式,那么请留意可能输入类似内容的混淆用户...
3<4 :->
3
如果它是一个正则表达式,他们只会得到它.
在插入数据库之前执行转义时,您也会限制自己.假设您决定不使用HTML作为输出,而是使用JSON,纯文本等.
如果你已经在你的数据库中存储了转义的html,你首先必须'unescape'存储在数据库中的值,只是为了再次将它重新转换为不同的格式.
还看到了关于xss预防的完美owasp文章