我使用C#Asp.net和SQl 2008 R2
我对DB很陌生,所以我需要一些指导。
我创建了一个具有角色/权限管理员的用户A,以使用MS Management Studio创建我的数据库。
现在我需要将我的网站设置为我的表中的READ / UPDATE / DELETE行,该用户将指向连接字符串。
我的问题: 在连接字符串中我应该是用户A(角色管理员)? 或者我应该创建新用户并为数据读取器和数据写入角色?
我需要我的代码能够处理我的表的内容,但不要修改架构。
请告诉我。非常感谢
答案 0 :(得分:1)
您应该创建一个具有最低权限的新用户。
这样,如果有人接管网站,他们只能做这个用户可以做的事情而不能做管理员用户可以做的其他事情。
如果您使用管理员用户,则恶意用户可能会使用SQL injection或其他技术更改架构(甚至删除数据库)以将其代码注入您的服务器。< / p>
此外,如果您有任何可能会更改架构的代码(可能是疏忽或编码错误),则损坏仅限于低权限用户可以执行的操作。
这是defense in depth的一部分。