10.安全相关--SQL注入

SQL注入的原因

SQL注入的原因 是由于特殊符号的组合会产生特殊的效果
实际生活中 尤其是在注册用户名的时候 会非常明显的提示你很多特殊符号不能用
因此我们在设计到敏感数据部分 不要自己拼接 交给现成的方法拼接即可

pycharm操作MySQL

import pymysql

conn=pymysql.connect(
host='127.0.0.1',
port=3306,
user='数据库名称',
password='数据库密码',
charset='utf8',
database='数据库',
)

cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
username=input('username>>>').strip()
password=inpyt('password>>>').strip()
sql='select * from t1 where name=%s and pwd=%s'%(username,password)

cursor.execute(sql)

上述代码为登录验证操作,但会出现 只需要用户名也可以登录、不需要用户名和密码也能登录、SQL注入问题

eg:
	username>>> jack' -- 其他代码
	username>>> xxx' or 1=1  #不需要用户名和密码就能登录

在使用代码进行数据操作的时候 不同操作的级别是不一样的

针对查无所谓
针对增 改 删都需要二次确认:
    conn.commit()

安全问题

1.密码加密
2.SQL注入
3.xss共计
4.CSRF跨站请求

posted @ 2023-07-17 15:04  苙萨汗  阅读(20)  评论(0)    收藏  举报