
SQL server
云想慕尘
这个作者很懒,什么都没留下…
展开
-
对于字符串向smalldatetime转换失败问题的解决
此类问题一般出现于动态存储过程,我以up_selectTradeInfo为例简单说明该问题的解决方法 --建表--银行卡表GOUSE BankCardManageDBGOIF EXISTS (SELECT * FROM sys.objects WHERE NAME=BankCard) DROP TABLE BankCardCREATE TABLE BankCard ( ID int iden原创 2008-09-21 12:25:00 · 11631 阅读 · 0 评论 -
SQL Server应用程序中的高级SQL注入
摘要:这份文档是详细讨论SQL注入技术,它适应于比较流行的IIS+ASP+SQLSERVER平台。它讨论了哪些SQL语句能通过各种各样的方法注入到应用程序中,并且记录与攻击相关的数据确认和数据库锁定。这份文档的预期读者为与数据库通信的WEB程序的开发者和那些扮演审核WEB应用程序的安全专家。介绍:SQL是一种用于关系数据库的结构化查询语言。它分为许多种,但大多数都松散地基于美国国家标准化组转载 2009-08-12 23:26:00 · 346 阅读 · 0 评论 -
跨站式SQL注入技巧
学习如何从数据库中获取想要获得的内容,首先,我们先看看SQL注入的一般步骤: 第一节、SQL注入的一般步骤 首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。 其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种: (A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: Select * from 表名 where 字段=4转载 2009-08-12 23:30:00 · 389 阅读 · 0 评论 -
SQL注入攻击的原理及其防范措施
ASP编程门槛很低,新手很容易上路。在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。在界面的友好性、运行性能以及网站的安全性方面是新手与老手之间区别的三个集中点。而在安全性方面,新手最容易忽略的问题就是SQL注入漏洞的问题。用NBSI 2.0对网上的一些ASP原创 2009-08-12 23:35:00 · 382 阅读 · 0 评论 -
编写通用的ASP防SQL注入攻击程序
SQL注入被那些菜鸟级别的所谓黑客高手玩出了滋味,发现现在大部分黑客入侵都是基于SQL注入实现的,哎,谁让这个入门容易呢,好了,不说废话了,现在我开始说如果编写通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击。 IIS传递给as原创 2009-08-12 23:36:00 · 413 阅读 · 0 评论 -
Dreamweaver中sql注入式攻击的防范
Dreamweaver+ASP可视化编程门槛很低,新手很容易上路。在很短的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。界面的友好性、运行性能以及网站的安全性方面是新手与老手之间区别的三个集中点。在安全性方面,新手最容易忽略的问题就是SQL注入漏洞的问题。用NBSI原创 2009-08-12 23:40:00 · 774 阅读 · 0 评论 -
SQL注入漏洞全接触--入门篇
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的WWW转载 2009-08-12 23:15:00 · 384 阅读 · 0 评论 -
SQL注入漏洞全接触--进阶篇
第一节、SQL注入的一般步骤首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种:(A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下:Select * from 表名 where 字段=49注入的参数为ID=49 And [查询条件],即是生成语句:Select * from原创 2009-08-12 23:22:00 · 369 阅读 · 0 评论 -
PHP与SQL注入攻击
学习如何从数据库中获取想要获得的内容,首先,我们先看看SQL注入的一般步骤: 第一节、SQL注入的一般步骤 首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。 其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种: (A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: Select * from 表名 where 字段=4原创 2009-08-12 23:28:00 · 369 阅读 · 0 评论 -
利用instr()函数防止SQL注入攻击
学asp也有一段时间了,这几天一直在写自己的程序,也遇到了好多问题,我就不得不得考虑到一些现在的漏洞,比如,‘ 或 and 1=1等等的一些漏洞!别的先不管,今天我就来说说如何堵这个漏洞! 记得看了一篇文章(不记得什么时候看的了),他用到了instr这个函数,具体的应该是这样的。 If instr(Request("id")," ")>0 or instr(Request("id"),"原创 2009-08-12 23:37:00 · 450 阅读 · 0 评论 -
防范Sql注入式攻击
Sql注入式攻击是指利用设计上的漏洞,在目标服务器上运行Sql 命令以及进行其他方式的攻击 动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因比如一个在线书店,可以根据用户的输入关键字搜索相关的图书。string name = GetUserInput("BookName");string script = "select table_book where book原创 2009-08-12 23:39:00 · 543 阅读 · 0 评论 -
SQL注入法攻击一日通
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根 据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的W转载 2009-08-12 23:25:00 · 328 阅读 · 0 评论 -
T-SQL修改表中字段长度
语法:alter table alter column 新类型名(长度)原创 2009-07-29 00:40:00 · 4657 阅读 · 0 评论 -
SQL语句拼凑注意事项
一、基本注意点sp_executesql 的参数必须为UNICODE,即NCHAR,NVARCHAR,NTEXT型,否则报错动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 Select * from tableName Exec(select * from tableName) Exec sp_executesql Nselect * from table转载 2009-05-16 20:17:00 · 1916 阅读 · 0 评论 -
SQLSERVER性能优化综述
近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以前的经验和测试结果进行总结了。我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情转载 2008-09-24 19:50:00 · 952 阅读 · 0 评论 -
通用存储过程——节省你的时间,延长程序员的寿命!
昨天写存储过程时遇到一个麻烦,再搜寻答案时搜到了“通用存储过程”,但只看到部分残缺代码,多方参考后,鄙人对其进行总结规范,得出以下规范存储过程,竟然把本人项目里50多个查询存储过程代替!不敢独享,遂贴出与大家分享,希望对大家有所帮助!!该存储过程几乎可以涵盖所有查询存储过程(目前本人还没有发现不能使用的)参数:分页大小,第几页,需要得到的字段 ,需要查询的表 , 查询条件,排序的字段名,排序的类型原创 2008-09-24 12:51:00 · 1295 阅读 · 3 评论 -
动态SQL模糊查询语句(存储过程)中关于百分号%的处理
由于%的特殊性,所以在写成动态sql语句时可能会给大家带来不小的麻烦!本人搜索多处也没能得解,摸索中前进终于艰难的写出!CREATE PROCEDURE up_SearchProc @condition varchar(100)AS SET NOCOUNT ON declare @sqlStrTemp varchar(2000) set @sqlStrTemp=select原创 2008-10-06 14:19:00 · 2995 阅读 · 3 评论 -
在SqlServer中新建作业定时执行命令
使用SQLServer2005中的作业(简化版本无)功能,可以定时执行任务,这样就给我们带来了很大方便,例如我们可以用作业来定时数据库备份,每隔一段时间清理垃圾,储存临时数据等等…… 具体使用办法为:在SQLServer企业管理器的对象资源管理器中找到SqlServer代理并展开,选择作业右击新建作业,然后 1.在常规里面输入作业名称 2.选择步骤,然后下面点新建,原创 2009-04-05 01:33:00 · 3701 阅读 · 0 评论 -
C#如何定时执行程序(例如每天晚上12:00)
C#如何定时执行程序(例如每天晚上12:00)--------------------------------------------------------------------------------类似于java里面的Timer.Schedule TimeTask谢谢----------------------------------------------------------转载 2009-04-29 14:19:00 · 18949 阅读 · 2 评论 -
利用SQLServer定时执行sql命令
--到某一时间点执行--存储过程开始IF EXISTS(SELECT * FROM sys.objects WHERE name=up_proc_WaitForTime) DROP PROCEDURE up_proc_WaitForTimego CREATE PROC up_proc_WaitForTime @time char(8) as waitfor time @time update原创 2009-04-30 12:46:00 · 1365 阅读 · 0 评论 -
asp.net每天定点执行任务
下面是每天零点执行一个存储过程 public static void ClearCountByTime() { System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(TimeEven原创 2009-04-30 23:59:00 · 1524 阅读 · 0 评论 -
在asp.net中使用Eval()绑定值传参方式跳转
其实这是今天工作中遇到的问题:界面是一个reapter控件, >其中的内容是一个span标签,其实本想用下面这种方法:>,进行绑定链接地址,不过暂不知怎么传递多个参数,google也没找到结果,无奈还是用了上面的那种拼接字符串的方法.后来工作提交了,又找到了另外一种:>,虽然也属于拼接字符串,但也可以说是另一种格式了原创 2009-05-08 00:37:00 · 4305 阅读 · 3 评论 -
触发器中的外键约束
现有两张表,tableA为类别表,tableB为商品表,tableB引用tableA中的id做外键,现在要删除tableA中的一条记录(也就是一个类别),所以就需要同时把tableB中属于该类别的商品删掉,而由于外键约束问题,触发器执行过程中会出现“消息 547,级别 16,状态 0”错误,这时我们就需要先把外键删掉,然后删除记录后再把外键加上。以下是触发器代码:其中trg_catalo原创 2009-05-10 01:25:00 · 1698 阅读 · 0 评论 -
ADO.NET中使用SqlParameter添加参数时遇到的参数无效问题
如,string sql="select top @count from tabA order by id";这样在程序运行时会提示“@count无效”,解决办法是:把sql改成"select top (@count) from tabA order by id"原创 2009-05-08 01:15:00 · 907 阅读 · 0 评论 -
asp.net对图片的读写
写图片c:/1.jpg到表cinfo中private static void AddCinfo() { string strSql = "insert into cinfo (srvtitle,csttitle,introduction,logo) values(@srvtitle,@csttitle,@introduction,@logo)"; Sql原创 2009-11-11 18:20:00 · 592 阅读 · 0 评论