/web-security-fundamentals

👨‍🏫 Mike's Web Security Course

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

This is the project used for the Mike.Works Web Security for Web Developers course.

Course outline and slides

What are the pieces?

Getting Set Up

There are a few things you need to ensure you have installed, in order to be ready for this course.

Node.js

You’ll need a relatively recent version (v4.5 or newer, v7 ideally) of node.js installed. On OS X, a great way of doing this without disturbing your existing dev environment is to install NVM. Installation instructions are here.

You’ll know everything is set up properly when you can run

nvm --version # might look like "0.31.4"
node --version # might look like "v7.7.3"

Visual Studio Code

Particularly if you’ve never tried it before, you should install Microsoft Visual Studio Code. Some fantastic extensions that I use regularly include

Check out and setup the project for this workshop

git clone git@github.com:mike-works/web-security-fundamentals.git websec
cd websec
npm install

Troubleshooting

What if I have an older version of Node.js?

You may run into problems during the workshop! An easy way to deal with this is to...

  • install nvm by running
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash

or Wget:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
  • then restart your terminal
  • then run
nvm install stable
nvm use stable
nvm alias default stable

What if I get an error like Please install sqlite3 package manually?

If you use OS X, it can be installed with homebew

brew install sqlite3

Windows and Linux users, please install the appropriate official release.

How to use it

This workshop builds on a single example project, step-by-step. You can start the project by running

npm start

License

While the general license for this project is the BSD 3-clause, the exercises themselves are proprietary and are licensed on a per-individual basis, usually as a result of purchasing a ticket to a public workshop, being a participant in a private training, being a current LinkedIn engineering employee or having a Front End Masters membership.

Here are some guidelines for things that are OK and NOT OK, based on our understanding of how these licenses work:

OK

  • Using everything in this project other than the exercises (or accompanying tests) to build a project used for your own free or commercial training material
  • Copying code from build scripts, configuration files, tests and development harnesses that are not part of the exercises specifically, for your own projects
  • As an owner of an individual license, using code from tests, exercises, or exercise solutions for your own non-training-related project.

NOT OK (without express written consent)

  • Using this project, or any subset of exercises contained within this project to run your own workshops
  • Writing a book that uses the code for these exercises
  • Recording a screencast that contains one or more of this project's exercises

Copyright

© 2018 Mike.Works, All Rights Reserved

This material may not be used for workshops, training, or any other form of instructing or teaching developers, without express written consent