摘要: 日前SQLINJECTION的攻击测试愈演愈烈,很多大型的网站和论坛都相继被注入。这些网站一般使用的多为SQLSERVER数据库,正因为如此,很多人开始怀疑SQLSERVER的安全性。其实SQLSERVER2000已经通过了美国政府的C2级安全认证-这是该行业所能拥有的最高认证级别,所以使用SQLSERVER还是相当的安全的。当然和ORCAL、DB2等还是有差距,但是SQLSERVER的易用性和广泛性还是能成为我们继续使用下去的理由。那怎么样才能使SQLSERVER的设置让人使用的放心呢?第一步肯定是打上SQLSERVER最新的安全补丁,现在补丁已经出到了SP3。下载地址:http://www 阅读全文
posted @ 2007-03-21 23:59 leonardleonard 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 我的BLOG里有一篇文章介绍了关于SQL注入的基本原理和一些方法。最让人感兴趣的也许就是前面介绍的利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令。这种方法也非常的简单,只需使用下面的SQL语句:EXECmaster.dbo.xp_cmdshell'dirc:\'但是越来越多的数据库管理员已经意识到这个扩展存储过程的潜在危险,他们可能会将该存储过程的动态链接库xplog70.dll文件删除或改了名,这时侯许多人也许会放弃,因为我们无法运行任何的cmd命令,很难查看对方计算机的文件、目录、开启的服务,也无法添加NT用户。对此作过一番研究,后来我发现即使xp_cmdshell不可用 阅读全文
posted @ 2007-03-21 23:58 leonardleonard 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 建立表:CREATETABLE[TestTable]([ID][int]IDENTITY(1,1)NOTNULL,[FirstName][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,[LastName][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,[Country][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,[Note][nvarchar](2000)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO插入数据:(2万条,用更多的数据测试 阅读全文
posted @ 2007-03-21 23:55 leonardleonard 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 链表是一种有序的列表,它的内容通常存储与内容分散的位置上。一般链表的串联方式有两种:一种是通过数组有序串联链表的列表元素,通常用到两个数组,一个数组存放数据,一个数组存放链接的关系。这种链表的缺点在于,在插于或者删除元素的时候,要频繁的搬动元素,而且数组的大小是固定的,使用缺乏弹性。另一种则是动态内存配置的链表,它由许多的结点(Node)链接而成,每一个结点包含数据部分以及指向下一个结点的指针(引用)。我们常说的“链表”一般就是指第二种。.Net Framework里并没有加入链表的数据结构对象。所以我就自己动手实践了一下。偶尔看到韩睿的“.NET数据结构对象补遗之单链表”,我没有看他后面的代 阅读全文
posted @ 2007-03-21 23:47 leonardleonard 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 了解当用户对一个.aspx页面提出请求时,后台的Web服务器的动作流程。当对这个流程了解后,我们就会明白HttpHandler和HttpModule的作用了。首先,来了解一下IIS系统。它是一个程序,负责对网站的内容进行管理,以及对客户的请求(就是Http请求)做出反应。当用户对一个页面提出请求时,IIS做如下反应(忽略权限):1.把对方请求的虚拟路径转换成物理路径2.根据物理路径搜索请求的文件3.找到文件后,获取文件的内容4.生成Http头信息。 PS:关于IIS和IE生成的Http头信息(元数据),可以用这个工具:http://www.blunck.info/iehttpheaders.h 阅读全文
posted @ 2007-03-21 23:47 leonardleonard 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 数组是数据结构中最基本的结构形式,它是一种顺序式的结构,存储的是同一类型的数据。每个数组元素都拥有下标(index)和元素值(value),下标方便存取数据,而元素值就是被存储的数据。 数组使用静态的内存空间配置方式。这也是数组的一个很不方便的地方,在经常需要重新分配数据的存储空间的应用上,往往使用数组就显得非常影响效率;而且,对数组的添加、删除、排序的操作也是比较麻烦以及低效的。 在.net里提供了一种ArrayList的结构,在过去很长一段时间里,我经常会在需要使用集合对象的时候想到它(主要是受早先starter kits的影响),但是ArrayList还是由数组构成的,虽然它在添加元 阅读全文
posted @ 2007-03-21 23:44 leonardleonard 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 转载了好几个地方,很难确定最早的出处。将源码贴出来先。1usingSystem;2usingSystem.Text;3usingSystem.IO;45namespacets6{7classtest8{9privatestaticstring[]startChars={"啊","芭","擦","搭","蛾","发","噶","哈","击","击","喀","垃","妈","拿","哦","啪","期","然","撒","塌","挖","挖","挖","昔","压","匝"};10privatestaticstring[]endChars={"澳","怖","错","堕","贰","咐","过" 阅读全文
posted @ 2007-03-21 23:42 leonardleonard 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 写这个文章源于早先对ADO.Net获取数据库元数据上的认识,去年我在阅读ADO.Net Core Reference的时候曾经注意过DataSet的FillSchema的这个方法。这方面,在我之前的随笔中提到过Typed DataSet,而FillSchem与WriteXmlSchema的结合使用可以获得数据库的表结构架构,从而使用相应工具生成强类型的DataSet。但是我记得作者建议在具体应用开发中尽量少用FillSchema这个方法,因为出于性能考虑,其一般只适合作为测试过程中的一个方法。当时我的理解就是,这是一个获取数据库元数据的一个方便的方法,但是由于其对性能的影响,因此通常应用中比较 阅读全文
posted @ 2007-03-21 23:40 leonardleonard 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 将Excel文件数据库导入SQLServer的三种方案//方案一:通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQLServeropenFileDialog=newOpenFileDialog();openFileDialog.Filter="Excelfiles(*.xls)|*.xls";if(openFileDialog.ShowDialog()==DialogResult.OK){FileInfofileInfo=newFileInfo(openFileDialog.FileName);stringfilePath=fileInfo.FullName;str 阅读全文
posted @ 2007-03-21 23:21 leonardleonard 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。那么VisualC#所使用的资源文件中到底存放哪些东西呢?在用VisualC#创建资源文件大致可以存放三种类型的数据资源,分别是字节数组、各种对象和字符串。本文将结合一个程序例子来具体说明用VisualC#是如何创建资源文件的。一.用VisualC#在创建资源文件用到的一些概念和理论:在.NetFrameWorkSDK中的一个名字叫System.Resour 阅读全文
posted @ 2007-03-21 23:20 leonardleonard 阅读(201) 评论(0) 推荐(0) 编辑
摘要: CREATETABLE[Test]([id][int]IDENTITY(1,1)NOTNULL,[name][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,[subject][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,[Source][numeric](18,0)NULL)ON[PRIMARY]GOINSERTINTO[test]([name],[subject],[Source])values(N'张三',N'语文',60)INSERTINTO[test]([name],[subject],[Source])va 阅读全文
posted @ 2007-03-21 23:18 leonardleonard 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1.通过工具DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQLServer数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQLServerEnterpriseManager中,展开服务器左边的+,选择数据库,右击,选择Alltasks/ImportData...(或Alltasks/ExportData...),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的。而且可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。也 阅读全文
posted @ 2007-03-21 23:17 leonardleonard 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 复制的概念    复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。    SQL复制的基本元素包括    出版服务器、订阅服务器、分发服务器、出版物、文章    SQL复制的工作原理    SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务 阅读全文
posted @ 2007-03-21 23:09 leonardleonard 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 这段时间在VS2003的WebForm方式下对Excel进行操作,遇到一个最为头疼的问题就是对Excel操作完毕后Excel不能够正常关闭,系统退出后,Excel总是驻留在内存中。但是这段代码放到WinForm的程序中又没有问题。在网上进行了查找也没有找到有效可行的办法。经过无数次的尝试,终于解决如下:原来书写如下:privateExcel.Applicationm_app;privateExcel.Workbookm_workbook;this.m_app=newExcel.ApplicationClass();this.m_app.DisplayAlerts=false;this.m_wo 阅读全文
posted @ 2007-03-21 23:07 leonardleonard 阅读(151) 评论(0) 推荐(0) 编辑
摘要: privatevoidExcel_Click(objectsender,System.EventArgse){if(this.Customers_Name_List.SelectedValue!=""&&this.VersionName.SelectedValue!=""){Objectrefmissing=System.Reflection.Missing.Value;Excel._Applicationapplication=newExcel.ApplicationClass();application.Visible=false;Excel.Workbooksworkbooks=appl 阅读全文
posted @ 2007-03-21 23:03 leonardleonard 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2007-03-21 23:02 leonardleonard 阅读(112) 评论(0) 推荐(0) 编辑
摘要: stringstr1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。stringstr2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。//备注按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:\mySubDirectory”)。stringstr3=Directory.GetCurren 阅读全文
posted @ 2007-03-21 23:01 leonardleonard 阅读(116) 评论(0) 推荐(0) 编辑
摘要: using System;using System.Windows.Forms;using System.Drawing;using System.Drawing.Printing;using System.Data;using System.Collections;using DataLibrary;namespace ControlLibrary{/// summary/// DataGrid打印/// /summarypublic class DataGridPrinter{private PrintDocument ThePrintDocument;private DataTa 阅读全文
posted @ 2007-03-21 22:58 leonardleonard 阅读(124) 评论(0) 推荐(0) 编辑
摘要: socket是网络套接字,使用它我们可以很方便的实现网络的数据传输。在.net中提供了socket类来帮助开发者调用socket的使用,从而避免了调用socket的动态库来实现socket的麻烦。下面我们就来看一个简单的例子,从这个简单的例子来看看.net中的socket类实现socket是多么的方便。   编程思路:在这个简单的例子中我们将通过socket来实现文件的网络传输和接收功能。要实现这两个功能我们需要通过vs.net建立两个实例来完成。一个发送端,一个接收端。由于文中已经给出了详细的注释这里就不罗嗦了。   发送端 Public Class Form1 Inherits Syste 阅读全文
posted @ 2007-03-21 22:56 leonardleonard 阅读(119) 评论(0) 推荐(0) 编辑
摘要: .net framework 所提供的开发控件也太少了,也太难看了,自已画又费时费力也不见得会得出个什么好的效果。如果能够上我们的程序运行在XP环境中能自动应用XP的主题样式那就省时多了,让MICROSOFT给我们去画控件!以下是我所所试验过的解决办法:1.Application.EnableVisualStyles方法(只适和.NET 1.1及以后版本支持)在Main方法中执行Application.Run(...)方法前先执行一下Application.EnableVisualStyles()方法,可以让接下来运行的应用程序中的控件自动套用XP的样式。不过有几点要注意:所有控件都必须保持预 阅读全文
posted @ 2007-03-21 22:35 leonardleonard 阅读(137) 评论(0) 推荐(0) 编辑