zoukankan      html  css  js  c++  java
  • 软测:工程与数据库问题

    我们目前接触到的小工程有很多是需要连接数据库才能实现的。例如小型超市管理系统,数据监管网站等。

    这些小工程必然会涉及到SQL注入问题。目前我碰到的问题如下:

    1.最简单的数据库排序规则问题,在mySQL中,数据库存储的数据被分为很多排序规则,默认为 “latin1_swedish_ci”,在此规则下,数据不能为中文,只能为字母和数字,若通过应用程序在数据库中添加不符合规则的数据,会显示乱码或不显示。

    其实这类问题在我当时写程序时很容易发现。。在查了几遍代码后保证并没有什么后台操作是会将数据修改成无意义乱码的情况下,那么显然是数据库出现了问题。

    那么显然,只有两种错误可能,类型和排序规则。简单查阅一下资料便可知使用utf8规则才能支持中文输入。

    2.SQL注入问题。

    定义:利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。

    用户在程序端的输入行为是无法预测的,所以要在程序中使用正则表达式等方法对用户的输入数据进行检测,对于后台数据库引擎错误的select命令抛出异常即可。

  • 相关阅读:
    安卓移动端css3动画卡顿解决方法
    PDO方法实现增删改查
    NPOI 操作笔记
    基于emoji 国际通用表情在web上的输入与显示的记录
    restful 规范
    set与map
    ES6解构赋值
    scss的基本用法
    学习vue的第一二三四五天
    React Hooks --- useState 和 useEffect
  • 原文地址:https://www.cnblogs.com/yi-jie/p/5248927.html
Copyright © 2011-2022 走看看