当前位置: 首页 > news >正文

邯郸做网站优化云南网络营销公司

邯郸做网站优化,云南网络营销公司,沈阳世纪兴网站制作公司,wordpress 多作者学习笔记:防止SQL注入、XSS攻击和文件上传漏洞(Python3) 本笔记由生成式大模型GPT-4o自动整理。注意AI可能犯错。代码和理论由GPT-4o(2024-5-21)自行撰写未经人工复核。 参数化查询防SQL注入 参数化查询通过将SQL语句和数据分离来防止SQL注…

学习笔记:防止SQL注入、XSS攻击和文件上传漏洞(Python3)

本笔记由生成式大模型GPT-4o自动整理。注意AI可能犯错。代码和理论由GPT-4o(2024-5-21)自行撰写未经人工复核。

参数化查询防SQL注入

参数化查询通过将SQL语句和数据分离来防止SQL注入:

import pymysqlconnection = pymysql.connect(host='localhost', user='user', password='passwd', db='db')
cursor = connection.cursor()
username, password = "admin", "password123"sql = "SELECT * FROM users WHERE username=%s AND password=%s"
cursor.execute(sql, (username, password))
result = cursor.fetchall()
防止XSS攻击的方法
  1. 输出编码:在输出到网页时进行编码。

  2. 内容安全策略(CSP):使用CSP头限制浏览器执行或加载的内容。

    Content-Security-Policy: default-src 'self';
    
  3. 输入验证和清理:严格验证和清理用户输入。

  4. 使用安全的库和框架:例如,使用Django。

  5. 设置HTTP头

    X-XSS-Protection: 1; mode=block
    
文件上传漏洞的解决方法(Python3后端)
  1. 文件类型验证

    from werkzeug.utils import secure_filename
    from flask import Flask, request, abortapp = Flask(__name__)
    app.config['UPLOAD_FOLDER'] = '/path/to/upload'
    app.config['ALLOWED_EXTENSIONS'] = {'png', 'jpg', 'jpeg', 'gif'}def allowed_file(filename):return '.' in filename and filename.rsplit('.', 1)[1].lower() in app.config['ALLOWED_EXTENSIONS']@app.route('/upload', methods=['POST'])
    def upload_file():if 'file' not in request.files:abort(400, 'No file part')file = request.files['file']if file.filename == '':abort(400, 'No selected file')if file and allowed_file(file.filename):filename = secure_filename(file.filename)file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))return 'File successfully uploaded'else:abort(400, 'File type not allowed')
    
  2. 文件名安全处理

    from werkzeug.utils import secure_filenamefilename = secure_filename(file.filename)
    
  3. 限制文件大小

    app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024  # 16MB
    
  4. 存储位置和权限

    import osUPLOAD_FOLDER = '/path/to/upload'
    if not os.path.exists(UPLOAD_FOLDER):os.makedirs(UPLOAD_FOLDER, exist_ok=True)
    os.chmod(UPLOAD_FOLDER, 0o700)
    
总结

通过参数化查询防止SQL注入,使用输出编码、CSP、输入验证等技术防止XSS攻击,并在Python3后端通过文件类型验证、文件名处理、限制文件大小等措施防止文件上传漏洞,可以有效提高Web应用的安全性。

http://www.ds6.com.cn/news/43306.html

相关文章:

  • 江门搜狗网站推广优化爱战网关键词挖掘
  • 包头北京网站建设百度互联网营销
  • 华威桥网站建设西安seo优化排名
  • 什么APP可以做网站深圳外贸网络推广
  • wordpress个人博客模板名优网站关键词优化
  • 网站建设找哪家公司网站收录查询系统
  • 东营做网站seo的又有什么新病毒出现了
  • 企业网站建设计什么科目郑州seo外包顾问
  • 个人网站制作设计第三方营销平台有哪些
  • 企业网站建设的成本百度手机管家
  • 斗破苍穹制作公司郑州百度网站快速优化
  • 深圳网站建设选哪家好网络营销的核心
  • 怎样给网站做app怎么让网站快速收录
  • 国务院政府网站发展建设的意见综合性b2b电子商务平台网站
  • 网站版建设户外广告
  • 厦门电商培训安卓优化大师破解版
  • 怎样制作表白网站百度指数指的是什么
  • 公司网站建设的百度服务电话在线人工
  • 兰州酒店网站建设东莞网络公司排行榜
  • 北京专业做网站百度应用市场官网
  • 翻译网站怎么做搜收录批量查询
  • 汕头做网站优化的公司湖南专业关键词优化
  • 用java怎么做游戏下载网站吗上海网站排名优化怎么做
  • 网站制作多少页北京seo推广外包
  • 做网站找哪家好要钱吗域名收录提交入口
  • 中国交通建设集团有限公司校招保定关键词优化软件
  • 设计做笔记的网站黄页推广2021
  • 重庆汽车网站建设宁德市古田县
  • 怎么在别人网站做跳转深圳seo优化排名
  • 网站建设案例分析谷歌app下载 安卓