零基础学sql server2008光盘机工第20章linq技术实际应用_第1页
零基础学sql server2008光盘机工第20章linq技术实际应用_第2页
零基础学sql server2008光盘机工第20章linq技术实际应用_第3页
零基础学sql server2008光盘机工第20章linq技术实际应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINQ技术实际应用本讲大纲:1、LINQ防止SQL注入式攻击支持网站:2、使用LINQ实现数据分页LINQ防止SQL注入式攻击1.SQL注入式攻击

SQL注入式攻击是Web应用程序中的一种安全漏洞,它可以将不安全的数据提交给应用程序,使应用程序在服务器上执行不安全的SQL命令。使用该攻击可以很轻松地登录应用程序。例如,开发一个管理员登录功能,假如该管理员的登录名为mrsoft,正确的SQL语句应该为如下代码:Selectcount(*)fromLoginInfowhereName='mrsoft'

如果在“登录名”文本框中输入“mr’or’1’=’1”,单击“登录”按钮,此时的SQL语句将会被转换为如下代码:Selectcount(*)fromLoginInfowhereName='mr'or'1'='1'通过上面的SQL语句可以看出,此SQL语句将会查询出表中的所有信息,所以程序就会认为登录成功。2.LINQ防止SQL注入式攻击

LINQtoSQL用于数据存取时,清除了SQL注入式攻击的存在。当LINQ执行每次查询时都加上了具体的参数。在LINQ查询语句中构建SQL查询时,提交给查询的任何输入都被当作字面值。例如,开发一个管理员登录功能,假如该管理员的登录名为mrsoft。在文本框中输入“mr’or’1’=’1”后登录,LINQ将会产生如下的SQL语句:Select[t0].[Name],[t0].[Pass],from[dbo].[LoginInfo]AS[t0]where[t0].[Name]=@p0可以看出,where子句自动被加上了参数,因此,用SQL注入式攻击是无法造成破坏的。使用LINQ实现数据分页

使用LINQ可以很容易地实现数据分页功能,它主要应用两个泛型方法,下面对这两个方法进行介绍。Enumerable.Skip<TSource>泛型方法

Enumerable.Skip<TSource>方法用来跳过序列中指定数量的元素,然后返回剩余的元素。语法如下:publicstaticIEnumerable<TSource>Skip<TSource>( thisIEnumerable<TSource>source,intcount)参数说明如下。source:一个IEnumerable<T>,用于从中返回元素。count:返回剩余元素前要跳过的元素数量。返回值:一个IEnumerable<T>,包含输入序列中指定索引后出现的元素。Enumerable.Take<TSource>泛型方法

Enumerable.Take<TSource>方法用来从序列的开头返回指定数量的连续元素。语法如下:publicstaticIEnumerable<TSource>Take<TSource>( thisIEnumerable<TSource>source,intcount)参数说明如下。source:要从其返回元素的序列。count:要返回的元素数量。返回值:一个IEnumerable<T>,包含输入序列开头的指定数量的元素。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论