0


Google App Engine 安全脚手架 Python 2.7 项目教程

Google App Engine 安全脚手架 Python 2.7 项目教程

gae-secure-scaffold-python 项目地址: https://gitcode.com/gh_mirrors/ga/gae-secure-scaffold-python

1. 项目介绍

项目概述

gae-secure-scaffold-python

是一个为 Google App Engine 的 Python 2.7 运行时环境设计的开源项目。该项目提供了一个安全的脚手架,帮助开发者在其基础上构建安全的应用程序。请注意,这不是一个官方的 Google 产品。

主要功能

  • 安全头设置:默认设置了一系列安全头,如 Strict-Transport-SecurityX-Frame-OptionsX-XSS-Protection 等,以防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。
  • 模板系统:强制使用 Django/Jinja2 模板系统,避免通过字符串拼接构建 HTML。
  • XSRF 保护:默认对非 GET、HEAD 或 OPTIONS 请求进行 XSRF 令牌验证。
  • API 修复:对一些使用不安全默认值的 API 进行修复。

项目结构

  • /:顶级目录,包含通用文件,如 app.yaml
  • /js:未编译的 JavaScript 资源。
  • /src:所有源代码。
  • /static:静态内容。
  • /templates:Django/Jinja2 模板。
  • /templates/soy:Closure Templates。

2. 项目快速启动

环境准备

确保你已经安装了以下软件:

  • node.js >= 0.8.0
  • git
  • curl

依赖设置

从项目的根目录执行以下命令:

git submodule init
git submodule update
cd closure-compiler
mvn -pl externs/pom.xml pom-main.xml pom-main-shaded.xml
cd ../closure-templates && mvn && cd ..
npm install
mkdir $HOME/bin
cd $HOME/bin
npm install grunt-cli
export PATH=$HOME/bin/node_modules/grunt-cli/bin:$PATH

本地开发

运行开发服务器:

grunt clean
grunt
grunt appengine:run:app

部署

部署到 App Engine:

grunt clean
grunt --appid=<appid>
grunt appengine:update:app --appid=<appid>

3. 应用案例和最佳实践

案例1:静态网站

使用

app.yaml

配置文件来服务一个静态网站,包括主页和所有静态资源。通过 HTTPS 和安全头来确保安全性。

案例2:多语言网站

配置一个根页面处理器,根据

Accept-Language

头将访问者重定向到

/intl/<code>

案例3:安全 Flask 应用

使用

securescaffold

创建一个具有安全默认值的 Flask 应用,并展示如何自定义和扩展应用以满足常见需求。

4. 典型生态项目

Closure 编译器

用于编译 JavaScript 资源,确保代码的安全性和性能。

Closure 模板

用于生成 HTML 模板,支持上下文自动转义,防止 XSS 攻击。

Flask

一个轻量级的 Python Web 框架,结合

securescaffold

可以构建安全的 Web 应用。

通过以上步骤,你可以快速上手并安全地开发基于 Google App Engine 的 Python 2.7 应用。

gae-secure-scaffold-python 项目地址: https://gitcode.com/gh_mirrors/ga/gae-secure-scaffold-python

标签:

本文转载自: https://blog.csdn.net/gitblog_00681/article/details/142276079
版权归原作者 陈昊和 所有, 如有侵权,请联系我们删除。

“Google App Engine 安全脚手架 Python 2.7 项目教程”的评论:

还没有评论