让我们想象以下情况:
管理员可以访问某些网店的管理员控制面板。他有权创建类别,产品等......他也有权创建产品类型。
这意味着管理员打开一些产品类型创建公式的页面,他会写一个类型名称和几个类型属性:
表单输入字段 - 用户输入
在db中提交全新表计算机后,将创建。表将有四列(存储,graphic_card,处理器,operation_system)。
我的问题是:允许商店管理员以这种方式在数据库中创建表格是否可以?或者这是不好的做法?
当然,将存在防止SQL注入的经典机制......
非常感谢您的回答!抱歉我的英语不好:)
答案 0 :(得分:1)
为创建表添加如此强大的Web应用程序用户权限通常是一种不好的做法。 我将在存储过程中实现表创建,然后仅向用户提供对过程的执行访问权限,并且不会提供更强大和危险的DDL(数据定义语言)权限。
使用存储过程创建表,您可以使用业务规则限制表创建。例如,您可以为表名提供一个模式,您可以限制列数,也可以最大化可以创建的表数,也可以记录表创建事件。