web应用程序的SqlServer的安全考虑
来源:互联网 发布:淘宝服装摆拍视频教程 编辑:程序博客网 时间:2024/06/05 18:01
不知道大家在web程序中使用的数据库账号都是什么权限,反正我一直都用的是数据库的所有者(比用sa的人要清醒一点)。
前几天,网站程序出现了一个小故障,经过检查才发现存储过程被改动了。这个事件在次把安全问题 摆到了桌面。我们到底要等到入侵者做到什么程度才会考虑数据库的安全问题呢?
首先,用数据库所有者这个账号连接,有如下权限:
1、查询
2、创建、更新、删除记录
3、创建、更新、删除表
4、创建、更新、删除视图和存储过程
而我们网站的大多数应用只需要:
1、查询表和视图
2、创建、更新、删除记录
3、执行存储过程
那么我们网站使用的数据库登录到底应该是什么角色,应该具有什么权限呢?
1、public ,这是必须的。
2、db_dataReader 。读取记录和执行查询语句。
3、db_dataWriter。 插入、更新和删除记录。
这里缺少一个执行存储过程的角色,只能手动为所有存储过程加上当前登录执行的权限。如果一个库的存储过程很多,则可以用下面这个存储过程来批量加上这个权限:
CREATE procedure sp_GrantProce(@username varchar(40))
as
begin
declare @user varchar(100),@name varchar(100)
declare t_cursor cursor for
select user_name(uid) as users,name from sysobjects where (xtype='P' or xtype='X') and status>0
open t_cursor
fetch next from t_cursor into @user,@name
while @@fetch_status=0
begin
exec('grant execute on '+@user+'.'+@name+' to '+@username)
fetch next from t_cursor into @user,@name
end
close t_cursor
deallocate t_cursor
end
- web应用程序的SqlServer的安全考虑
- web安全要考虑的几个安全因素
- Web应用程序的安全机制
- 创建安全的Web应用程序
- 开发安全的web应用程序
- 开发安全的web应用程序
- 十大荟萃 值得考虑的开源安全应用程序
- 测试Web应用程序的需要考虑的基本事项
- WEB安全测试通常要考虑的测试点
- WEB安全测试通常要考虑的测试点
- WEB安全测试通常要考虑的测试点
- 开发Web应用程序应注意的安全
- Web 应用程序安全的思考和总结
- 构建更加安全的 Web 应用程序
- Web 应用程序的基本安全--学习笔记
- 应用程序的跨平台考虑
- Web系统的安全性考虑
- web server 考虑的问题
- lotus notes 开发常用方法
- 对话周鸿袆:从程序员创业谈起
- JAVA学习路线
- 用Delphi开发JNI(Java Native Interface)应用
- Lotus Domino/Notes开发和管理常见问题
- web应用程序的SqlServer的安全考虑
- 玩转tomcat之让世界变的更简单
- 如何修改db_block_buffers
- 操作Lotus Notes数据库
- System.out.println 的输出顺序..
- 软件测试 从零开始
- 很好的活动ASP.NET爱好者值得关注
- 分析Hibernate的事务处理机制
- QTP中文版手册