博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎么预防sql注入攻击
阅读量:6679 次
发布时间:2019-06-25

本文共 457 字,大约阅读时间需要 1 分钟。

 

假设sql是搜索用户A的文章,sql会是这样:

select * from table where owner='A';

sql注入攻击者会修改用户名来实现攻击,例如把A 改成A' or 1='1

组合后的sql语句:

select * from table where owner='A' or 1='1';

这样就可以获取所有用户的文章

可见,sql攻击就是把部分数据内容伪造成sql语句,例如上面把 or 1=伪造成sql语句来实现攻击

而伪造的方法,就是在内容里面加入引号,所以预防sql注入的方法就是把传入的参数里面的引号进行转义,例如上面把用户名改成 A\' or 1=\'1,就可以预防这样的sql攻击

引号包括单引号和双引号

 

python的MySQLdb模块中有专门转义的函数:

import MySQLdbdef safe(s):    return MySQLdb.escape_string(s)

 

转载于:https://www.cnblogs.com/Xjng/p/4403378.html

你可能感兴趣的文章
Linux基础命令---显示主机名hostname
查看>>
ASP后门、***清理
查看>>
strtus2的xml文件配置
查看>>
Error:No suitable device found: no device found for connection
查看>>
SCCM 2016 为客户端分发管理组件Configuration Manager(一)
查看>>
CentOS 7 多网卡绑定
查看>>
python函数
查看>>
eclipse中要运行带参数的程序
查看>>
1.9-selinux介绍
查看>>
1.5-nagios监控客户端-1
查看>>
1.8-virsh常用操作
查看>>
Linux下高并发socket最大连接数所受的各种限制【转】
查看>>
Red Hat 6.2 64如何使用Centos的YUM源更新两种方法
查看>>
vim多行复制
查看>>
HIVE创建HBASE表
查看>>
k3cloud单据插件
查看>>
MaridDB主从复制,双主模型,半同步的配置
查看>>
JSP四大作用于对象
查看>>
麒麟开源堡垒机功能版本说明及升级方式说明
查看>>
Parquet性能测试调优及其优化建议
查看>>