我想知道将 HTML 内容存储在数据库中是否被认为是不好的做法,或者它是否不安全。
我希望在我的系统中实现几种表单,这些表单将具有不同的字段并且可以定期更改。我想知道创建每个表单的唯一布局并将它们存储在我的数据库中是否是不好的做法。如果不入侵我们的数据库,用户将无法修改表单、向表单提交 HTML 或创建自己的表单。然后,在将数据提交到为每个表单创建的数据库表之前,我将获取用户提交的数据并验证其是否有特殊字符。我的计划是遍历请求参数,提取键值对,然后将经过验证的列表发送到存储过程或准备好的语句。字段名称将与数据库中的列名称具有相同或相似的名称。为了确保我有正确的顺序,
HTML 页面将与从客户端提交数据所需的 SQL 一起存储在数据库中的一个 clob 中。我可能只存储需要提交数据的表名并围绕它构建语句。
例子:
String tableName = "Form1"; //pulled from the database
String sqlLayout = "INSERT INTO ? ("+/*dynamically generated ? based on MAP keys*/+ ") VALUES ("+ /*dynamically generated ? based on MAP values*/ +")";
//Then proceed to fill in ? in the standard prepared statement way.
要将 clob 加载到客户端页面,我将在 JSP 中的 div 上使用 jQuery 的 .load()。
我使用一个每年只发布一次的 JavaEE 应用程序。