`
jiagou
  • 浏览: 2531272 次
文章分类
社区版块
存档分类
最新评论

我看数据安全,服务用户,符合常理

 
阅读更多

SIMS已经完工一段时间了,但是对其的学习还远远不够。通过自己的调试和龙哥的验收,这里出现了很多问题,在这里我从问题的角度出发,总结一下SIMS,因为错误是我们的短板,是我们的不足,我们可以犯错误,但是不要重复犯错误就行。当然一些问题可以扩延到更多的系统,它不仅仅是针对SIMS系统的,而是一些做项目的一些共性的问题,希望对大家有所帮助!

这里我把问题大概归结为了三大方面:

一,数据安全方面:以后我们做的软件一般都和数据库连接,这样对于数据库的安全性问题就是非常需要重视了。在这个系统中,遇到最严重的一个问题就是,SQL语句注入。因为在这个系统的主体部分就是对数据库数据的增删改查,但是这是需要不同权限用户才可以对其进行操作呢。下边我举个简单例子:

大家看这个界面,一般情况,我们是通过已经存储的用户和密码才能进入管理系统界面。

我们这阶段访问数据库的代码:

txtSQL = "select* from user_Info where user_ID = '" & txtusername.text & _"'and密码='" & txtpassword.text & "'"

SQL注入:在对应的输入框中输入 '_'or'_'='_'其中_代表任意字符我们就可以登录进去。

原因:txtSQL = "select * from user_Info where user_ID = '" &'1'or'1'='1' & _"'and 密码='" & '1'or'1'='1' &"'"

大家注意看这是我通过SQL server2008查询得到的结果:

他是把你数据库中的所有数据全部查出,当然能进去!而根本原因就是出在or这个字眼上,意思是查询的信息满足账户=2或者2=2,当然2=2为真值,所以会查出所有结果。

解决方法:1,因为通过这样的查询,他是查询出来符合2=2的结果,也就是所有的结果,这里我们可以限制其查出结果的数量,来防止SQL注入:语法如下

 If mrc.RecordCount > 1 Then’如果查出来的条数多以1,则弹出提示框!            
         MsgBox "非法登陆!"
             Exit Sub
 End If

2,因为在使用SQL语句注入时,他用到了很多标点符号,例如,单引号 ',等号=……而我们在输入框的输入一般不会出现这种情况,这里我们就可以利用replace函数把输入这些符号给替换掉,这样也就可以避免了:语法如下:

Public Function inputstring(ByVal mystr As String) As String’定义一个替换函数,替换掉里边的符号
  mystr = Trim(mystr)
   mystr = Replace(mystr, "'", "''")
   mystr = Replace(mystr, "or", " ")
   mystr = Replace(mystr, "and", "  ")
   mystr = Replace(mystr, "=", " ")
   mystr = Replace(mystr, ";", " ")
End Function


将需要替换的文本写成inputstring(*****)的形式,就可以防止这些字符的输入,当然我认为这并不是根本的。

更过关于SQL语句注入的文章,看龙哥的博客:

http://blog.csdn.net/xiaoxian8023/article/details/6720018

http://blog.csdn.net/xiaoxian8023/article/details/6720031

http://blog.csdn.net/xiaoxian8023/article/details/6720040

当然数据的安全,还包括很多,这里我遇到了这点,就拿这点谈谈,这要我们考虑到这些情况才会防止黑客的攻击。

二,方便用户角度:

1,必须要用软件的说明,即使软件再简单,也要有帮助。因为帮助就是用户使用这款软件的指南针。

2,对于一些确定,取消等按钮需要我们添加快捷键;

3,对于一些重要的操作(如,删除,退出等),需要我们给以提示框提示,给用户一个思考的机会。

4,对于listbox的一些选择,不仅需要单击添加或删除按钮,双击对象我们也应该实现添加删除,因为很多用户觉得这样方便。

…………

总而言之,就是为了使用户用着软甲更容易上手,更方便操作,需要我们多思考思考,尤其站在用户的角度去想一些问题。

三,从合理,符合常规的角度:

1,对于,一些说明帮助等,我们要做到的是用户不能给以修改,这些东西应该是只读类型的。

2 ,对于用户的登录密码我们要考虑到空格等一些特殊的字符。要是那些不能用的话,要给出说明。

3,对于一些姓名,设定好的班号,年级号,我们要做到的限定这些输入框,只能是选择,例如性别只能选择男女,而不能输入别的内容。

4,另外,每个输入框,显示框,他会对应数据库中 某个表格,这里我们要做的根基实际情况限定输入的字符长度,字符类型,否则出现类型错误,或者数据过长,而引起软件崩溃。

5,对于数据库中没有数据的特殊情况我们也要考虑到,这里我们可以利用记录集mrc的recordcount属性来判断一下,如果是空可以给出提示!

……

总之,对于一些软件,一些常规的合理的,符合大众的东西,我们要给出,这是先把最基本的实现,对于创新是我们实现这个以后的事!

SIMS完工了,不代表我们学习这个工程已经好了,我们要做的是不断的反复,不断从一个工程找更多的相同点,使之对我们以后的学习也好,做工程也好,产生一定的影响,积累一定个经验!

分享到:
评论

相关推荐

    如何处理ChatGPT技术在对话生成中的不符合常理问题.docx

    ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题

    ucos配置常理.ppt

    ucos配置常理.ppt

    如何提高Linux系统安全性

    在平时,网络管理人员要经常提高警惕,随时注意各种可疑状况,并且按时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合常理的时间记载...

    数据挖掘实验报告.docx

    实验内容 对所有窃漏电用户及真诚用户的电量、告警及线损数据和该用户在当天是否窃漏电的标识,按窃漏电评价指标进行处理并选取其中291个样本数据,得到专家样本,使用CART决策树实现分类预测模型。 注意:数据的80...

    数据分析数据挖掘的步骤.pdf

    缺失数据 数据的缺失主要包括记录的缺失和记录中某个字段的缺失 缺失的处理分为删除存在缺失值的记录、对可能值进⾏插补和不处理3种情况 异常数据 异常值分析是检验数据中是否有录⼊错误以及含有不合常理的数据(eg:...

    数据分析之数据质量分析和数据特征分析.pdf

    数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据⼀般是指不符合要求,以及不能直接进⾏相应分析的数据。在常见的数据挖掘⼯作中,脏数据 包括: (1)缺失值; (2)异常值; (3)不⼀致的值; (4...

    CoordAttention-YOLOX(基于CoordAttention坐标注意力机制的改进版YOLOX目标检测平台

    CoordAttention_YOLOX(基于CoordAttention坐标注意力机制的改进版YOLOX目标检测平台 ...小编小小测试,注意力机制放在网络后面的地方似乎更有效(也符合常理),好像也有相关研究支持,当然没有深入研究过

    潜心布局12年!揭秘这家智能数据公司的发展秘诀.docx

    2006年,亿信华辰在北京正式成立。...作为年销售收入过亿的智能数据产品与服务提供商,在创立12周年以来却低调行事,对庆典活动淡然处之,难道是企业资本寒冬?究其原因,不过是源自亿信人的低调和归零的谦和心态。

    论文研究-DS证据理论冲突处理新方法.pdf

    针对经典DS证据理论在处理高度冲突的证据信息时会产生有悖常理结论的情况,基于证据支持度的思想,引入了证据之间相容系数的概念,并随之引入证据可信度的概念,提出了一种新的证据权重的确定方法;最后运用DS证据...

    整理了最全的Python3数据类型转换方法,可以收藏当手册用

    Python支持各种标准数据类型之间的转换,但并不是任意数据都可以转换的,所有的转换要符合“常理”,逻辑上应该是成立的。比如,你不应该试图将一个complex类型转换为int,因为python也不知该怎么转换。   数据

    论文研究-基于证据距离和不确定度的冲突数据融合算法.pdf

    但是,当使用证据理论对高度冲突的数据进行融合时,此时会出现有违常理的结果。为了解决冲突数据融合的问题,提出了一种基于证据距离和不确定度的冲突数据融合方法。通过证据距离计算证据之间的相对距离,将证据分为...

    wpe pro英文原版 M2M sniff 修改封包工具

    Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为单位的信息传送,IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址、以及一些相关的控制信息。...

    通过对arm,elbow,finger的控制,理解model transformation以及viewing transformation的含义及做法。

    制作一个包含arm,elbow,finger的机械臂(参考reference readings部分代码),完成一个机械臂移到一个球处并把球拿起的过程动画。 机械臂和球的初始位置请自己随意...符合常理即可。 间隔两秒重新播放 符合手指运动规律

    论文研究-基于财富效用的产权拍卖定价的计算模拟.pdf

    论文研究-基于财富效用的产权拍卖定价的计算模拟.pdf, 通过构造财富效用函数建立了产权...对竞买人用于竞标的财富实力对均衡价格的影响作了初步探讨, 其研究结论符合常理.

    Linux服务器的16个监控命令

     你可以通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版。比如说,SUSE Linux有一款出色的、图形化配置和管理工具YaST,KDE的KDE System Guard同样很出色。  ...

    iOS狂暴之路---iOS中应用的数据存储方式解析

    前面一篇文章中已经介绍了iOS应用中的视图控制器知识点,而本文不会按照常理来介绍View的知识点,而是先介绍iOS中的数据存储知识点,因为关于View的知识点太多了,后面会连续详细介绍一下。这篇先来看一下iOS中的...

    ImgBurn_2.5.8.0.zip

    ImgBurn 定位于小强版刻录工具,旨在为那些看到体积无比庞大的巨无霸 Nero 等商业刻录软件就发怵的家庭用户以及期望能以 0 资金投入寻求正版光盘刻录软件的中小企业提供较迷你较实用的免费刻录解决方案。好比一般...

    论文研究-基于粗糙集的证据合成方法研究.pdf

    在证据合成中,Dempster合成规则为证据理论提供了证据合成公式,但该公式在合成高度冲突的证据时,合成结果将有悖于常理。针对上述问题,将粗糙集理论中属性依赖度的思想引入到证据理论中,以此衡量证据的重要性,更...

    AI时代下的汽车业数字化变革白皮书.pdf

    阿里云研究中心认为,得益于数据、算力与算法等数字基础设施能力的提升,微粒化数据运营与精准连接将会是汽车企业跨越S曲线,实现倍速增长的关键要素。白皮书《AI时代下的汽车业数字化变革》将从数字化研发、数字化...

Global site tag (gtag.js) - Google Analytics