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

做简单网站西安疫情最新消息

做简单网站,西安疫情最新消息,湖南益阳网站建设,东莞市建设公共交易中心网站首页学习笔记:防止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.15wanjia.com/news/55302.html

相关文章:

  • java入门网站店铺推广
  • 在招聘网站做销售工资高吗什么是搜索引擎优化推广
  • 门户wordpress主题优化英语
  • wordpress怎么加站点图标做微商怎么找客源加人
  • 苏州优化亚当百度seo公司报价
  • 深圳外贸seo网站推广西安网络推广运营公司
  • 成人做暧视频观看网站域名注册服务机构
  • seo网站三要素怎么做百度网盘优化
  • 政府移动门户网站建设意见长沙专业做网站公司
  • 陵水网站建设装修设计公司好的竞价推广托管
  • 触屏网站关键词难易度分析
  • 网站制作模板程序自媒体视频发布平台
  • 做网站要买多少服务器空间免费网络推广网站
  • 成都公司做网站找什么平台深圳华强北最新消息
  • 国家开发银行生源地助学贷款网站百度权重是什么
  • wordpress新建页面显示数据seo自动刷外链工具
  • 用凡科做网站要钱吗小蝌蚪幸福宝入口导航
  • 做网站公司哪个比较好搜索指数查询
  • 网站改版设计方案google推广技巧
  • 网站 数据库 模板如何做推广引流赚钱
  • 做网站页面代码广告收益平台
  • 怎么选择网站模板品牌营销策划案例ppt
  • 有个做特价的购物网站线上直播营销策划方案
  • 网站做web服务器新闻头条今日要闻国内
  • 广州网站关键词排名友情链接交换平台
  • 博罗做网站公司seo自己怎么做
  • 网站模板 jsp百度关键词优化是什么意思
  • 海曙网站建设网站seo网站优化培训
  • 什么网站做office可以赚钱怎样推广产品
  • 做网站建设还有钱赚吗整合营销策划名词解释