如何判断数据库中的字段是否包涵一个值

mylibin 2008-05-11 05:56:13
我现在要根据一个字段来统计数
用like来判断有问题
比如我这个字段里有 11,14

该如何判断 是否包涵 1 而不是11
...全文
103 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2008-05-11
  • 打赏
  • 举报
回复

like '%,1,%' or like'1,%' or ='1'
mylibin 2008-05-11
  • 打赏
  • 举报
回复
那是 1,14的话
不就查不到1了
阿非 2008-05-11
  • 打赏
  • 举报
回复
like '%,1,%'
网络数据库安全设计与实现 【摘 要】随着互联网飞速发展,网络环境日益开放,因此,网络数据库的安全问题显得越来 越重要。本文论述了网络数据库的安全设计,从三个方面阐述了网络数据库安全的实现 ,为网络数据库安全建设提供参考。 【关键词】网络数据库;设计;实现;加密;权限 1.引言 近年来,随着计算机科学技术的发展与普及,Internet得到了飞速发展,使得网络不 再是单纯的信使,而是一个开放性很强交互的平台,因此网络数据库的安全越来越重要 。多用户、高可靠性、频繁的更新和大文件是数据库的特性,这必然使得数据库的建设 和维护显得非常困难和繁琐,同时这也使攻击者有机可乘,利用数据库的一些不易觉察 的漏洞,进行非法操作。为此,本文主要探讨了网络数据库的安全设计及实现,为网络 数据库使用客户提供技术保障。 2.相关技术 2.1 基于角色的访问控制RBAC RBAC的原理描述如下:用户对应的访问权限是经过授权而获得的,权限只能与角色相 对应,角色与权限之间的关系是相互映射的。这样的访问控制方法可以有效简化授权, 同时又使指定和执行个性化保护策略的过程更加灵活。用户可以根据实际情况定义角色 ,也可根据需要重新改变角色。 2.2 .NET Framework .NET Framework是一个综合性的环境,涉及到用户创建、配置、运行网络服务及其它应用程序 。它主要由通用语言运行库、Framework共享对象类别库以及ASP.NET三个部分所构成: .NET Framework类库的特色为:提供可继承的基类;包涵基于Web的应用模型;提供Web服务框 架的组件以及相关服务等。 3.网络数据库安全的设计 3.1 系统的架构设计 本文研究的网络数据库安全访问系统主要分成三大部分,分别是:表示层、数据访问 层以及数据层,架构设计如图1所示。 由上图可知,整个系统都是基于认证服务器器。系统架构的几个层次分别承担不同 的功能,而面向角色的数据库访问控制在每个层次都有实现,并结合对应的安全策略 及组件来满足数据库访问机制的控制需求。其,表示层是用户与系统之间的交互接口 ;数据访问层则是用户与数据库之间的核心层,主要负责逻辑方面的功能控制,涉及到 :认证以及数据加密等;数据层则是指数据存储、封装以及调用的功能层次。 图1 网络数据库安全访问系统的架构设计示意图 3.2 系统的访问策略设计 首先,针对用户端,系统必须提供友好的交互界面。本文研究的网络数据库安全访问 系统是基于Windows环境的,借助于.NET实现用户端的认证,并提供规范化的用户输入验 证。系统的服务器端会实时接受用户端的请求,并做出响应。此外,系统还对用户输入 信息进行有效过滤,可以避免网络上的一些恶意代码进行SQL形式的注入。 其次,系统数据流不仅包括数据本身,还包含密码及连接字符串等信息,如果不进行 相关处理而直接在网络上进行传输的话,容易造成信息的泄露,可见,对系统数据流进 行加密还是非常有必要的。 另外,面向角色的安全访问机制也是系统安全策略的重要组成部分,可以借助于认证 服务器完成。该认证服务器涉及到业务逻辑以及数据库认证授权等。只有被认证服务器 认证通过,并授权的用户才可以进行数据库进行访问等操作。 4.网络数据库安全的实现 4.1 系统表示层 网络数据库安全访问系统的表示层是系统的第一屏障,负责用户信息的接收、过滤以 及提交等。表示层主要是借助于窗体进行呈现,以树状列表显示用户名及其对应的角色 ,涉及到:用户登陆ID、用户名、登录时间以及相关权限等。系统表示层窗体认证的 设计如下描述: (1)用户发出一个数据库连接请求,Internet信息服务允许该数据库连接请求,并 由.NET对进行检查。当用户请求认证通过后,就可以被定向到登录界面,用户必须提供 用户名及对应密码才可以提交登录窗体。 (2)系统针对用户提供的用户名及密码,根据数据库相关信息进行匹配验证,如 验证通过即分配对应角色。同时,创建Cookie并反馈给用户端。这个时候,可以先将角 色暂存在对应的数据字段,可以防止该用户后续发出的数据库连接请求时,重复获取 该角色。 (3)当用户被重定向到最初界面的时候,事件处理程序就会创建对象Iprinicipal, 并将该对象保存在Http Context。最终,用户就根据角色分配登录不同的界面进行数据库的相关操作。 另外,系统表示层涉及到了SQL注入式攻击的防范设计。本系统在进行SQL语句以及 存储过程调用的时候,直接使用Parameters集合,这样可以有效实现不管用户输入何字 符,都可以视为文本进行处理,且能够对字符进行类型以及长度方面的检查,有不合格 字符时还可以触发异常。但需要注意的是,当SQL代码有异常出现时,不是直接将SQL 错误呈现给用户表示层,而是

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧