python安全编码规范_【安全开发】python安全编码规范

申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%84%E8%8C%83%E6%96%87%E6%A1%A3/2018-08-17-SDL-4-python%E5%AE%89%E5%85%A8%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md

python语言安全

本身要注意的有,一些危险函数,危险模块的调用,主要是系统调用。这个如果调用一定要对输入输出做好过滤,以下是代码中各种导致进行系统调用的方式。尽量避免。

避免各种情况导致系统调用

谨慎使用Eval

数据序列化

Web编程

对应Web编程中安全概念在python web框架中的实现。url跳转,目录遍历,任意文件读取也需要考虑在内。针对不同的框架也需要。

Flask 安全

使用Flask-Security

直接生成 HTML 而不通过使用Jinja2

不要在用户提交的数据上调用Markup

使用 Content-Disposition: attachment 标头去避免上传html文件

防止CSRF,flask本身没有实现该功能

Django 安全

可参考phithon的博客,有较多相关资料。

关闭DEBUG模式

关闭swagger调试

妥善保存SECRET_KEY

使用SecurityMiddleware

设置SECURE_HSTS_SECONDS开启HSTS头,强制HTTPS访问

设置SECURE_CONTENT_TYPE_NOSNIFF输出nosniff头,防止类型混淆类漏洞

设置SECURE_BROWSER_XSS_FILTER输出x-xss-protection头,让浏览器强制开启XSS过滤

设置SECURE_SSL_REDIRECT让HTTP的请求强制跳转到HTTPS

设置SESSION_COOKIE_SECURE使Cookie为Secure,不允许在HTTP中传输

设置CSRF_COOKIE_SECURE使CSRF Token Cookie设置为Secure,不允许在HTTP中传输

设置CSRF_COOKIE_HTTPONLY为HTTP ONLY

设置X_FRAME_OPTIONS返回X-FRAME-OPTIONS: DENY头,以防止被其他页面作为框架加载导致ClickJacking

部署前运行安全性检测 django-admin.py checksecure --settings=production_settings

审计工具

安装使用方式较为简单,所以不做介绍。

引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值