web代码安全问题总结
一, 数据库安全性
1, MSSQL数据库安全性
l web中不允许使用sa级的用户连接数据库
解决方法:
- 删除sa用户,新建一个权限为sa的用户,用户名和密码一样要复杂。以防暴力破解。
- 新建一个web连接用户,去掉所有服务器角色,在用户映射中加入此用户要操作的数据库和db_public身份。
- 如果需要其它操作要另加权限(如只加insert/delete/select/update)。
- 每个人都没法保证自己写的代码没有漏洞。只要在数据库层做下处理以防入侵。如果有SQL注入db_public身份一样能对数据库添加/修改/删除权限,所以一定不能存在SQL注入漏洞。
- 如果能防SQL注入和权限限制就很难发生暴库/跨库现像。
2, Access数据库安全性
解决方法:
- 防暴库:在数据库连接时加入错误处理代码,如果数据库连接失败就提示错误信息或转向。不能由系统本身提示错误信息,
- 防下载。
u 第一步:新建一个表。
u 第二步:在表中建一个字段,名称随意,类型是OLE对象,然后用ASP代码向字段中添加一条记录写入单字节的"<%" 代码为:Insert into tablename(fieldname) value (chrB(asc("<")) & chrB(asc("%")))。
u 第三步:将数据库改名为*.ASP
- 最安全的方法是用使用ODBC数据源连接