Skip to content
/ odp Public

Simple Python web application with some basic security features built from scratch

Notifications You must be signed in to change notification settings

scresh/odp

Repository files navigation

Secure Web Application :: Ochrona Danych Projekt

Individual project from the Data Security in Information Technology Systems course at the Warsaw University of Technology. App is written in Python 2.7, primarily based on Vial and Jinja2.

UPDATE: It is one of my first Python apps, so please be understanding ;)

Functionality:

  • Strict verification of data from all forms
  • Storing password hashes with salt
  • Uploading files with any extension
  • Sending public code snippets
  • Security tokens (against XSRF attacks)
  • Hashing password multiple times
  • Verifying the number of unsuccessful login attempts
  • Password verification delay (against brute-force attacks)
  • Checking password difficulty (its entropy)
  • Ability to regain access to accout using e-mail
  • Possibility to change password
  • Informing users about new connections to their account

Usage

Install python packages from requirements.txt :

pip install -r requirements.txt --user

Change server socket in drink.ini file if needed:

[uwsgi]
socket = 127.0.0.1:1337
protocol = http
module = drink:app
plugins = python

Set login credentials for password-reminder e-mail account and (optionally) your domain in params.py:

param_dict = {
    'domain': '127.0.0.1',
    'db_file': 'database.db',
    'mail_user': 'mail.bot@gmail.com',
    'mail_password': 'ExamplePassword1234',
    'mail_smtp': 'smtp.gmail.com',
    'mail_port': 587,
}

Run UWSGI with provided config file :

uwsgi --ini drink.ini

Screenshots

home page register page
upload file view snippet

About

Simple Python web application with some basic security features built from scratch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published