防止sql注入的方法

防止sql注入从前端的页面到后台可以分为以下几个办法:

1.在前端页面就可以用js过滤数据

要引入的包:

import Java.util.regex.*;

正则表达式:

private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;

判断是否匹配:

Pattern.matches(CHECKSQL,targerStr);

下面是具体的正则表达式:

检测SQL meta-characters的正则表达式 :

/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix

修正检测SQL meta-characters的正则表达式 :/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i

典型的SQL 注入攻击的正则表达式 :/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix

检测SQL注入,UNION查询关键字的正则表达式 :/((\%27)|(\’))union/ix(\%27)|(\’)

检测MS SQL Server SQL注入攻击的正则表达式:

/exec(\s|\+)+(s|x)p\w+/ix 

2.后台可以使用预编译,参数化查询的方法防止sql注入

采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。

使用好处:

(1).代码的可读性和可维护性.

(2).PreparedStatement尽最大可能提高性能.

(3).最重要的一点是极大地提高了安全性.

原理:

sql注入只对sql语句的准备(编译)过程有破坏作用

而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,

而不再对sql语句进行解析,准备,因此也就避免了sql注入问题. 

3.对密码一类敏感的信息不要直接明文存储,可以采用MD5或hash加密

4.异常信息不要直接抛出给用户,最好自定义处理异常信息的类,因为异常信息里也包括关于服务器的一些信息可能被利用。

转载于:https://www.cnblogs.com/blythe/p/7434753.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用haystack实现django全文检索搜索引擎功能

前言 django是python语言的一个web框架,功能强大。配合一些插件可为web网站很方便地添加搜索功能。 搜索引擎使用whoosh,是一个纯python实现的全文搜索引擎,小巧简单。 中文搜索需要进行中文分词,使用jieba。 直接在django项目中使…

Go_输入与输出

输出的几种方式: fmt.Print:属于标准输出流,一般使用它来进行屏幕输出,但它不能换行fmt.Printf:可以格式化输出,输出不换行fmt.Println:输出后换行fmt.Sprint:返回一个格式化的字符…

3、事件响应函数(一)

一、激活销毁 void OnEnable()//每次激活脚本时调用{print("OnEnable");}void OnDisable()//脚本取消激活状态调用{print("OnDisable");}void OnDestroy()//被销毁时调用{print("OnDestroy");} 二、鼠标事件 /// <summary>/// 代码添加到需…

人人都是产品经理?

产品经理顾名思义就是产品经理。那么只要搞懂产品是什么、经理又什么什么&#xff0c;就明白了产品经理是什么。 产品是什么&#xff1a; 产品是满足需求的载体&#xff0c;能被市场、人们使用和消费&#xff0c;并能满足人们某种需求&#xff08;创造价值&#xff09;的任何东…

搭建一个简单的FTP服务器

本文介绍通过win7自带的IIS来搭建一个只能实现基本功能的FTP服务器&#xff0c;第一次装好WIN7后我愣是没整出来&#xff0c;后来查了一下网上资料经过试验后搭建成功&#xff0c;其实原理和步骤与windows前期的版本差不多&#xff0c;主要是对新的操作系统还不是很熟悉。相信用…

3D文档(BRD、MRD、PRD)怎么写

3D文档&#xff1a; 一般来说&#xff0c;BRD作为战略方向的制定&#xff0c;是最早产出的文档&#xff0c;而MRD则是在战略方向的基础上对市场进行的分析&#xff0c;同时对后续工作的方向进行一些说明和指导&#xff0c;也可以说是通过对市场环境、竞品的分析&#xff0c;明确…

需求收集、分析、管理的方法

需求&#xff1a; 什么是需求 百度百科给的解释&#xff1a;指人们在某一特定的时期内在各种可能的价格下愿意并且能够购买某个具体商品的需要。所以要想明白需求&#xff0c;还要明白另外两个概念&#xff0c;需要和欲望&#xff0c;因为从需要到需求是一个由宏观到微观的过程…

Oracle中start with...connect by子句的用法

connect by 是结构化查询中用到的&#xff0c;其基本语法是&#xff1a;select … from tablenamestart with 条件1connect by 条件2where 条件3;例&#xff1a;select * from tablestart with org_id ‘HBHqfWGWPy’connect by prior org_id parent_id;简单说来是将一个树状…

用户访谈与问卷调查怎么做

用户访谈&#xff1a; 用提问交流的方式&#xff0c;了解用户体验的过程&#xff0c;访谈内容需要根据访谈目的来确定&#xff0c;通常包括产品的使用过程、使用感受、品牌印象等&#xff0c;属于定性研究。 访谈场景&#xff1a; 接听客服电话&#xff08;轮岗&#xff0c;客服…

【hdu2825】ac自动机 + 状压dp

传送门 题目大意&#xff1a; 给你一些密码片段字符串&#xff0c;让你求长度为n&#xff0c;且至少包含k个不同密码片段串的字符串的数量。 题解&#xff1a; 因为密码串不多&#xff0c;可以考虑状态压缩 设dp[i][j][sta]表示长为i的字符串匹配到j节点且状态为sta的数量。 其…

if函数 字体自动标红_发喜糖!REPT函数和图表订婚了~~

小伙伴们早上好呀&#xff01;今天为大家分享的是REPT函数的应用实例。案例1&#xff1a;基础用法左右&#xff1a;按照给定的次数重复显示文本用法&#xff1a;REPT(文本&#xff0c;重复次数)搭配&#xff1a;Wingdings字体家族的应用案例2&#xff1a;条形图⑴ 单元格D3输入…

用户体验五要素

用户体验&#xff1a; 用户在使用产品过程中建立起来的一种纯主观感受。 用户体验的重要性&#xff1a; 会失去客户&#xff1a;如果你没有良好的体验&#xff0c;用户不会使用你的产品&#xff0c;而且产品很难有二次机会接触用户。会增加获客成本&#xff1a;获客成本越来越高…

用鼠标旋转图像

这里涉及的到图像旋转后&#xff0c;方向的计算。我也不是很明白。先记录下来再说。 #_*_coding:utf-8 _*_import pygame from pygame.locals import * from sys import exit from gameobjects.vector2 import Vector2 from math import *background_image_filename./images/se…

trackingmore快递查询平台_国际快递物流信息追踪查询

以下是快递公司常用查询物流信息追踪平台1. 17TRACK查询网址&#xff1a;www.17track.net/zh-cn (强烈推荐&#xff0c;国际件都能查询)2. EMS查询网址&#xff1a;www.ems.com.cn 客服电话&#xff1a;11833. DHL网址查询&#xff1a;www.cn.dhl.com …

竞品分析该怎么做

竞品分析&#xff1a; 作用&#xff1a; 知己知彼&#xff0c;百战不殆。为自身产品设计提供功能、可用性、关键技术等方面的参考。提高自身产品的差异化程度。为新立项的产品、拍脑袋想出来的&#xff0c;降低风险。 如何选择竞品&#xff1a; 行业内领先的产品&#xff0c;通…

饿了么超时20分钟_饿了么回应“多等5分钟”,网友气炸了

广告记编辑整理(ID&#xff1a;adgroup)昨天一篇题为《外卖骑手&#xff0c;困在系统里》的文章刷屏文章指出外卖骑手是被平台系统算法与数据支配的“工具人”在系统的压迫下骑手们每天都在违反交规、与死神赛跑外卖员成了高危职业引发网友热议今天凌晨饿了么官方发布了一篇《你…

CCF历年试题总结

准备参加CCF考试&#xff0c;进行了一些试题的模拟&#xff0c;把做出的试题进行了一个汇总&#xff0c;持续更新中。 2017 201703-1 分蛋糕 转载于:https://www.cnblogs.com/shely-Wangfan/p/7452429.html

用户角色用户画像

用户角色&#xff1a; 用户角色 user personal&#xff0c;⽤户⻆⾊是⼀个集合体&#xff0c;不是指某个具体的⼈&#xff0c;是从用户群体中抽象出来的典型用户。 一般包含以下信息&#xff1a; 个人基本信息&#xff08;性别、年龄、性格、学历、婚姻、爱好、职业&#xff09…

java获取本周的开始时间和结束时间_创业板注册制开始时间/股票开户流程结束后,怎么炒股?...

股户流程刚走完&#xff0c;先别急着炒股&#xff0c;多研究股市行情。首选开户选好券商&#xff0c;没选好后患无穷&#xff0c;券商建议是富途、老虎&#xff0c;这两家美股港股都可以入&#xff0c;各有优势&#xff0c;富途的港股股票期权值得关注&#xff0c;老虎证券目前…

MarkDown 中使用 LaTeX 数学式

&#xfffc; 最近看了些机器学习的书籍, 想写点笔记记录下. 由于需要使用到很多的数学推导, 所以就看了下如何在 Markdown 中插入数学式&#xff0c;发现在 Markdown 中可以直接插入 LaTeX 数学式. 排版数学公式是 \(\TeX\) 系统设计的初衷, 在 \(\LaTeX\) 中占有特殊地位, 是…