sql查询安全性验证.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
如有帮助,欢迎下载。 SQL 查询安全性验证 Stefan Brass Christian Goldberg Martin-Luther-Universit? t Halle-Wittenberg, D-06099 Halle (Saale), Germany (brass|goldberg)@informatik.uni-halle.de, Phone: +49 345 55 24740, Fax: +49 345 55 27333 的。一个典型的例子就是在嵌入式 SQL (包括 摘要 SQLJ 等)中的“ SELECT-INTO ”: SELECT S.EMAIL 很多程序需要访问关系型数据库中的数据, INTO :E 这一般通过 SQL 写的查询来实现的。虽然 SQL FROM STUDENTS S WHERE S.FRAME = :FN 语言是描述式的语言, 但是某些运行时错误还是 AND S.LNAME = :LN 会发生。由于这些错误的出现往往与数据有关, 假设有一个表 STUDENTS 具有 SID (唯一学生 在测试的阶段发现这些错误并不容易。 一个查询 编号,主键),FNAME (名字),LNAME (姓氏), 是否安全的问题可以归结为一致性检查。 众所周 和 EMAIL 等字段。如果这个表有两行满足条件 知,一致性是一般不可判定的, 并且这也同样适 (比如两个学生具有相同的姓名) ,这个查询在 用于 SQL 查询。不过,在这篇论文中,我们倡 执行的时候一个运行时错误(异常)就会发生。 导一个能处理超大 SQL 子集的一致性检查(它 由于这个错误可能是无法预料的, 它将会无法正 运用有序 Skolem 方法来 Skolemization ,同时还 确进行处理, 并且显示给用户的错误信息也不会 有一些其它技巧)。这种一致性检查也是用来产 有帮助。 生其它语义警告的基础。 进一步的,它可以用来 如果我们想要开发高品质的软件, 我们必须 产生 SQL 查询的测试数据。 保证上述错误永远不会发生。在例子中,如果 主题词: 模式构建,信息系统,静态分析, “FNAME ,LNAME ”被声明为表的次要键, 上 软件质量 述查询就安全了。 当然,此时插入具有相同姓氏 关键字: SQL,运行时错误,一致性 和名字的两个同学就变成不可能的了 (由于这种 1. 绪论 情况在现实中确实存在, 就必须要使用另一种鉴 别方法了) 。 当今我们所开发的软件可能有很大比率是 注意,如果一个程序员错误的认为姓氏和名 要使用存储于关系型

文档评论(0)

rookieDeng2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体宁**

1亿VIP精品文档

相关文档

相关课程推荐