我有一个输入字段,它允许用户输入保存到数据库中的数据;在很少的用法中,用户可以放入HTML。将HTML保存到数据库并输出的最佳实践
将数据保存到数据库时,最佳做法是将值(可能包括html)转义/编码?或保存为它并在输出期间对其进行编码?
编辑:只是想看看如果大多数人都同意,编码的文本存储在数据库是由该article
我有一个输入字段,它允许用户输入保存到数据库中的数据;在很少的用法中,用户可以放入HTML。将HTML保存到数据库并输出的最佳实践
将数据保存到数据库时,最佳做法是将值(可能包括html)转义/编码?或保存为它并在输出期间对其进行编码?
编辑:只是想看看如果大多数人都同意,编码的文本存储在数据库是由该article
它总是好的,以逃避解释一个坏主意,将它们放入/前编码用户输入您的数据库,否则您可能会将系统暴露给SQL注入(即,如果您正在使用任何SQL DB)。
转义html特定字符是一种标准做法。您可以使用StringEscapeUtils从Apache Commons Lang
简单的例子:
String htmlStr = "<h1>Hi</h1>"
StringEscapeUtils.escapeHtml(htmlStr);
这将编码字符串作为<h1>Hi</h1>
更多的间隙,你可以分享你还没有尝试过。 –
这里有两个问题。首先是由于不可信用户输入导致的SQL注入;其次是显示内容时的XSS。等待解决这两个问题的答案。 – jww