Intro to Security for Developers
An incomplete introduction to security for developers. Topics include device security, account security, developer tools security, and application security (SSL/TLS, cross-site scripting, authentication systems, information disclosure, and common security headers).
Also check out my personal security checklist for handy checklist to secure your devices and accounts.
Presentation
Slides are available on my website at www.alexandraulsh.com/intro-to-security-for-developers/slides. They are hosted on the gh-pages
branch of this repo.
View slides locally
If you'd like to view the presentation locally:
git clone git@github.com:alulsh/intro-to-security-for-developers.git
git checkout gh-pages
cd slides
npm install
npm start
Your default web browser should open the slides on http://localhost:8000/#/
automatically.
Presentation History
I've given this presentation at the following events. I've tagged each presentation as a release in this repo.
Event | Date | Release |
---|---|---|
Women Who Code DC Tech Talk | Feburary 9th, 2017 | wwcdc-tech-talk |
Mapbox Miniconf | October 8th, 2016 | mapbox-miniconf |
Tech Lady Hackathon #4 | October 22nd, 2016 | techlady-hackathon-2016 |
Code Samples
This presentation uses code samples written in Node.js to interactively teach security concepts. The code samples are hosted in the default code-samples
branch.
I do not host these demos on my website since it uses GitHub Pages (can't run a web server) and I don't want live cross-site scripting vulnerabilities on my domain. These demos must be run locally on your machine or on a cloud IDE such as Cloud9.
Prerequisites
You will need to install node.js and npm in order to use these code samples. I recommend installing node.js with nvm (Node Version Manager).
I used node 4.6.0 and npm 2.15.9 to create these code samples, but they may work on earlier or later versions of node/npm. If the samples don't work on your machine, try them with Node 4.6.0 (nvm install 4.6.0
if you use nvm) and npm 2.15.9 before opening up an issue.
Installation
To install the code samples:
git clone git@github.com:alulsh/intro-to-security-for-developers.git
cd <code sample directory>
npm install
npm start
For example, to run the cross-site scripting demos:
git clone git@github.com:alulsh/intro-to-security-for-developers.git
cd xss
npm install
npm start
License
These slides and code samples are open source so I can more easily share them with the world. If you want to re-use them, give me credit or a shout out and let me know! I'd love to hear how you are using them.
Questions?
Create a new GitHub issue or Tweet at me - @AlexUlsh.