{"id":21465250,"url":"https://github.com/christopher-dabrowski/shielded-notes","last_synced_at":"2025-07-15T04:31:41.705Z","repository":{"id":50179175,"uuid":"232383957","full_name":"christopher-dabrowski/shielded-notes","owner":"christopher-dabrowski","description":"Secure web app for sharing user notes","archived":true,"fork":false,"pushed_at":"2022-12-08T03:25:29.000Z","size":723,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-13T22:42:53.599Z","etag":null,"topics":["academic-project","flask","security"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/christopher-dabrowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-07T17:57:44.000Z","updated_at":"2023-04-12T07:13:09.000Z","dependencies_parsed_at":"2023-01-24T09:00:14.464Z","dependency_job_id":null,"html_url":"https://github.com/christopher-dabrowski/shielded-notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/christopher-dabrowski/shielded-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christopher-dabrowski%2Fshielded-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christopher-dabrowski%2Fshielded-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christopher-dabrowski%2Fshielded-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christopher-dabrowski%2Fshielded-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/christopher-dabrowski","download_url":"https://codeload.github.com/christopher-dabrowski/shielded-notes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christopher-dabrowski%2Fshielded-notes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265402833,"owners_count":23759237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["academic-project","flask","security"],"created_at":"2024-11-23T08:09:42.125Z","updated_at":"2025-07-15T04:31:41.144Z","avatar_url":"https://github.com/christopher-dabrowski.png","language":"HTML","readme":"# Shielded notes \u003c!-- omit in toc --\u003e\n\nKońcowy projekt na _Ochronę Danych w Systemach Informatycznych_.\n\n## Cel projektu\n\nPrzygotowanie bezpiecznej aplikacji webowej. Aplikacja będzie pozwalała na wymianę i upublicznianie sformatowanych notatek.\n\n## Spis treści\n\n- [Cel projektu](#cel-projektu)\n- [Spis treści](#spis-treści)\n- [Uruchamianie projektu](#uruchamianie-projektu)\n- [Podstawowe wymagania](#podstawowe-wymagania)\n\n## Uruchamianie projektu\n\nDo działania odzyskiwania hasła przez mail trzeba ustawić zmienne środowiskowe `GMAIL_LOGIN` i `GMAIL_PASSWORD` w pliku [docker.env](./app/docker.env).\n\nBy uruchomić projekt wystarczy wykonać `docker-compose up` w głównym katalogu. Projekt będzie widoczny pod adresem [https://localhost](htts://localhost).  \nDo uruchomienia projektu w ten sposób wymagany jest [Docker](https://www.docker.com/).\n\n## Podstawowe wymagania\n\nNapisz aplikację WWW realizującą uwierzytelnianie w oparciu o tajne hasło. Zwróć uwagę na:\n\n- :white_check_mark: **(niezbędne)** restrykcyjna weryfikacje danych pochodzących z formularza login-hasło,\n- :white_check_mark: **(niezbędne)** przechowywanie hasła chronione funkcją hash i solą,\n- :white_check_mark: **(niezbędne)** możliwość umieszczenia na serwerze notatek dostępnych publicznie lub dla określonych - użytkowników,\n- :white_check_mark: **(niezbędne)** zabezpieczenie transmisji poprzez wykorzystanie protokołu https,\n- :white_check_mark: **(niezbędne)** możliwość zmiany hasła,\n- :white_check_mark: dodatkowa kontrola spójności sesji (przeciw atakom XSRF),\n- :white_check_mark: wielokrotne wykorzystanie funkcji hash, żeby wydłużyć ataki brute-force na hash (wolna funkcja hash),\n- :white_check_mark: weryfikacja liczby nieudanych prób logowania,\n- :white_check_mark: dodanie opóźnienia przy weryfikacji hasła w celu wydłużenia ataków zdalnych,\n- :white_check_mark: sprawdzanie jakości hasła (jego entropii),\n- :white_check_mark: możliwość odzyskania dostępu w przypadku utraty hasła,\n- :white_check_mark: informowanie użytkownika o nowych podłączeniach do jego konta.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristopher-dabrowski%2Fshielded-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristopher-dabrowski%2Fshielded-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristopher-dabrowski%2Fshielded-notes/lists"}