mike-works/web-security-fundamentals
GitHub: mike-works/web-security-fundamentals
一套以 Node.js/Express 为技术栈的 Web 安全基础课程,通过渐进式练习帮助开发者理解和防范常见 Web 安全漏洞。
Stars: 260 | Forks: 117
This is the project used for the Mike.Works Web Security for Web Developers course.
# 课程大纲与幻灯片 * [在此处查看课程大纲](https://mike.works/course/web-security-5c876cc) * [在此处查看幻灯片](https://docs.mike.works/web-security-fundamentals) ## 包含哪些部分? * [node-sass-middleware](https://github.com/sass/node-sass-middleware) 用于 Sass 编译 * [express](http://expressjs.com/) 用于提供 HTML 和 CSS(由 Sass 编译而来)服务 * [commander](https://github.com/tj/commander.js) 作为运行练习的 CLI 基础 ## 环境准备 为了更好地学习本课程,你需要确保安装了一些必备软件。 ### Node.js 你需要安装相对较新的 node.js 版本(v4.5 或更高版本,最理想是 v7)。在 OS X 上,在不影响现有开发环境的情况下进行安装的一个好方法是安装 NVM。[安装说明请看这里](https://github.com/creationix/nvm#installation)。 当你能够运行以下命令时,说明一切准备就绪: ``` nvm --version # might look like "0.31.4" node --version # might look like "v7.7.3" ``` ### Visual Studio Code 特别是如果你以前从未尝试过它,你应该安装 [Microsoft Visual Studio Code](https://code.visualstudio.com/)。我经常使用的一些出色扩展包括: * [vscode-icons](https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons) * [Sublime Text Keymap](https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings) - 如果你习惯了 Sublime Text 的键盘快捷键,请安装此扩展 ### 检出并设置本次研讨会的项目 ``` git clone git@github.com:mike-works/web-security-fundamentals.git websec cd websec npm install ``` ### 故障排除 #### 如果我的 Node.js 版本较旧怎么办? 在研讨会期间你可能会遇到问题!解决这个问题的一个简单方法是...... * 运行以下命令来安装 [nvm](https://github.com/creationix/nvm) ``` curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash ``` 或使用 Wget: ``` wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash ``` * 然后重启你的终端 * 接着运行 ``` nvm install stable nvm use stable nvm alias default stable ``` #### 如果我遇到类似 `Please install sqlite3 package manually` 的错误怎么办? 如果你使用的是 OS X,可以通过 [homebrew](https://brew.sh/) 进行安装。 ``` brew install sqlite3 ``` Windows 和 Linux 用户,请安装相应的[官方版本](https://sqlite.org/download.html)。 ## 如何使用 本次研讨会基于一个完整的示例项目,循序渐进地进行。你可以通过运行以下命令来启动项目: ``` npm start ``` ## 许可证 虽然本项目的主许可证是 BSD 3-clause,但练习内容 本身是专有的,并且是按个人授权的,通常是 因为购买了公共研讨会的门票、作为 私人培训的参与者、目前是 LinkedIn 的工程员工,或者拥有 Front End Masters 的会员资格。 根据我们对这些许可证运作方式的理解,以下是一些关于**允许**和**不允许**的事项的准则: ### 允许 * 使用本项目中除练习(或附带测试)之外的所有内容,来构建用于你自己的免费或商业培训材料的项目。 * 从构建脚本、配置文件、测试以及不属于练习部分的开发工具中复制代码,用于你自己的项目。 * 作为个人许可证的所有者,将测试、练习或练习解答中的代码用于你自己的、与培训无关的项目。 ### 不允许(未经明确书面同意) * 使用本项目,或本项目包含的任何练习子集来运行你自己的研讨会 * 编写使用这些练习代码的书籍 * 录制包含本项目一个或多个练习的屏幕录像视频 # 版权 © 2018 [Mike.Works](https://mike.works),保留所有权利 ###### 未经明确书面同意,本材料不得用于研讨会、培训或任何其他形式的针对开发者的指导或教学活动标签:CLI, CSRF防御, Express, GNU通用公共许可证, HTTP安全, Mike North, MITM代理, Node.js, Sass, Syscall, Web安全, Web开发, WiFi技术, XSS防御, 前端安全, 后端安全, 安全培训, 安全基础, 安全漏洞, 开发者课程, 教学项目, 网络安全, 网络安全教育, 自定义脚本, 蓝队分析, 隐私保护