TODO: Write a project description
TODO: Describe the installation process
| #!/bin/sh | |
| mkdir ~/down/ | |
| cd ~/down/ | |
| sudo apt-get install build-essential | |
| wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz | |
| tar -xzf Python-2.7.2.tgz | |
| cd Python-2.7.2 | |
| sudo apt-get install libsqlite3-dev zlib1g-dev libncurses5-dev | |
| sudo apt-get install libgdbm-dev libbz2-dev libreadline5-dev | |
| sudo apt-get install libssl-dev libdb-dev |
| #taken from //community.webfaction.com/questions/4888/install-nodejs-with-express-framework | |
| #the "forever" part taken from //shkfon.tumblr.com/post/27178918675/real-world-nodejs-part-1 | |
| #thanks to [Ryan s](http://community.webfaction.com/users/16/ryans/) and [Dave Stevens](http://shkfon.tumblr.com/) | |
| mkdir -p $HOME/src | |
| cd $HOME/src | |
| wget 'http://nodejs.org/dist/v0.8.9/node-v0.8.9.tar.gz' | |
| tar -xzf node-v0.8.9.tar.gz | |
| cd node-v0.8.9 |
Since Django 1.5.5, CSRF tokens are rotated on login. That makes it trivial to trigger a CSRF error in the following way:
The CSRF token sent along with the second login attempt (in a cookie) won't match the token that was embedded in the form, and so a CSRF error will be displayed.
It could be argued that the above is an odd/contrived thing to do, and so displaying a CSRF error here isn't too bad. Fine. But there's another, more subtle, way to trigger the same thing: