ASP.NET SQL 注入解决方案
任何一种使用数据库web程序(当然,也包括桌面程序)都有被SQL注入的风险。防止被SQL注入,最基本的方法是在代码级别就要阻止这种可能,这个网上讲的很多,我就不多说了。不过如果你拿到的是一个已经完工的产品,这个时候该如何解决呢?我介绍几种对于ASP和ASP.NET有效的防止SQL注入的方案,而且是免费的。
UrlScan 3.1
UrlScan 3.1是一个安全方面的工具,微软官方的东西。它会检查所有IIS处理的HTTP请求。UrlScan 可以在有安全问题的HTTP请求到达应用程序之前就阻止这个请求。UrlScan 3.1 是UrlScan 2.5的一个升级版本,支持Windows Vista 和Windows Server 2008系统之上的IIS 5.1, IIS 6.0 和 IIS 7.0。
链接地址:http://www.iis.net/expand/UrlScan 这里还有很多非常有用的IIS扩展,可以看看。
IIS 6 SQL Injection Sanitation ISAPI Wildcard
这个ISAPI dll 也是通过检查HTTP请求避免SQL注入。只兼容windows 2003上的 IIS 6.0。对于Windows XP 上的 IIS 5 不支持。
这是一个开源项目:http://www.codeplex.com/IIS6SQLInjection
转自:http://www.cnblogs.com/DotNetNuke/archive/2009/12/30/1635758.html
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
比如在Northwind数据库中
有一个查询为
SELECT c.CustomerId, CompanyName
from Customers c
WHERE EXISTS(
SELECT OrderID from Orders o
WHERE o.CustomerID = cu.CustomerID)
这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯 ......
查询重复值,显示出不重复的部分
select distinct(employeeid) from orders
查询两个表之间相同数据
select orders.EmployeeID,Employees.EmployeeID
from orders INNER JOIN Employees
on Employees.EmployeeID=orders.EmployeeID
实现目的,一个表存放用户编号和用户名,在另一个表中可以根据用户编� ......
也是SQL Server 2005带来的新特性,部分备份(partial backup)自动创建数据库中主文件组和所有激活读写功能的文件组的备份。如果备份存在只读文件组的数据库,部分备份将只对主文件组进行备份。这个选项对于那些存在只读文件组的超大型数据库是理想的,它不需要像那些可写的文件组备份得那么频繁。
除了需要指定READ_WRIT ......