我现在正在学习 JSP 和 Java,并写了一个(非常)简单的留言簿来开始使用 JSP。但我想确保没有人可以使用 CSS,因此我需要在将 HTML 代码保存到 mySQL 数据库之前删除它。我已经在这里搜索并找到了“
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (ID, ?, ?)");
pStmt.setString(1, request.getParameter("sender"));
pStmt.setString(2, request.getParameter("text"));
pStmt.executeUpdate();
那么执行此操作的正确方法是什么?
简短回答:看看org.apache.commons.lang.StringEscapeUtils.escapeHtml() http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html#escapeHtml(java.lang.String).
更详细的答案:转义 HTML 是演示代码的工作,而不是数据库代码的工作。如果出于某种原因,您希望在非 Web 环境(例如经典 GUI)中的某个时刻显示数据怎么办?您必须对整个内容进行转义,否则它将显示总垃圾。
只需按原样保存数据并确保逃脱一切你从用户那里得到就在之前你显示它(好吧,也许不是数字存储为数字,但你明白了)。
如果您使用 AJAX,则可以更进一步,仅在 JavaScript 中转义字符串(或使用 innerText)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)