SlideShare a Scribd company logo
1 of 5
Download to read offline
Course: Information Technology, Module BTI7054 Web Programming
Author: Roland Bruggmann, brugr9@bfh.ch
Lecturer: Prof. Dr. Emmanuel Benoist, bie1@bfh.ch
Date: June 2014
Berner Fachhochschule | Haute ´ecole sp´ecialis´ee bernoise | Bern University of Applied Sciences
Passwords Safe
Web-Based Password Management Application
Term paper
1 Introduction
For the development with HTML(5), CSS(3), JavaScript and PHP the IDE Eclipse with PDT1
and the software ’git’
for versioning were used. The web-application got tested with Mozilla Firefox v29.0 and partially with Chromium v34
webbrowser. It is actually running and accessible over https://pwsafe.geogeek.ch/, the code can be downloaded from
https://github.com/brugr9/pwsafe/.
Once logged in a user can access three pages:
ˆ Dashboard
ˆ Accounts Management (List of Accounts / Add an Account / Edit Account Nr. XY)
ˆ User Profile
Figure 1.1: Screenshot of ’Passwords Safe’:
Accounts Management for a user named ’geek’.
1Eclipse PDT: PHP Development Tools for Eclipse
Passwords Safe, Roland Bruggmann, June 2014 1
2 Webdesign
2.1 Layout
The site has a single column layout with four sections (from top):
ˆ <header>
ˆ <nav> (horizontal navigation)
ˆ <div id=“content”>
ˆ <footer>
The layout is optimized for a minimum resolution of 800 x 1280 pixels. Therefore, by the use of a todays tablet PC, displaying
all elements without horizontal scroll should be guaranteed.
2.2 Style
As the webapplication serves with security releveant features, the idea was to transport the spirit of a sound firm or
organisation by layout. The visual message should say:
ˆ smart and simple (usability),
ˆ calm (no panic) and
ˆ clean (serious).
First, colors were used as given by the corporate identity of the organisation. The background showing dotted ’grip’ suggests
giving technical control to the user (usability). For letters/text with a linking anchor, the transition on mouseover is delayed
in time (no panic). And finally a typographic point of view: For the header elements, the font “Trebuchet MS” is in use.
Moreover, the proportional serif typeface“Linux Libertine“ was choosen for the content and the footer, in combination with
“Linux Biolinum”for titles and links (calmness, seriosity)1
.
Furthermore, the smooth look-and-feel derives from features supported by CSS3, e.g. border-radius, box-shadow and
transition: The login and signup forms fade in without any extra code in JavaScript.
2.2.1 Icons
The icons are png-formatted and 16-by-16 pixel in size. They are part of the famfamfam iconset called“Silk Icons”(version
1.3)2
. For having a kind of discreet colors, the icons are declared as a bit transparent by CSS.
2.2.2 Alternate
With e.g. Firefox webbrowser, a user can choose an alternate style named“Contrast”which has a dark background and the
font-color white. For printing, a separate stylesheet is in use for hiding the navigation (media=“print“).
1Linux Libertine: http://www.linuxlibertine.org/
2famfamfam: http://www.famfamfam.com/lab/icons/silk/
Passwords Safe, Roland Bruggmann, June 2014 2
3 Backend
The system runs a LAMP stack: GNU/Linux Debian operating system, Apache HTTP server, MySQL database and PHP
server-side script. The application is reachable over https://pwsafe.geogeek.ch (registrar: switch; toplevel domain: ch;
2nd-level-domain: geogeek). In the Domain Name System of the Internet Service Provider, a record for the subdomain
’pwsafe’ was added (3rd-level-domain).
3.1 Apache
An apache virtualhost listening on ServerName ’pwsafe.geogeek.ch’ got configured serving with HTTPS only: Requests over
HTTP (port 80) will be rewritten for HTTPS (port 443). The DocumentRoot points to ’/var/www/pwsafe’, which is a
symbol link to the directory where the application lives. The TLS/SSL-certificate in use is actually a self-signed snakeoil
created with openSSL, all common web-browsers will make a complaint therefore.
3.2 MySQL
First, a database called ’bti7054web’ was created and later on a database-user called ’passwdstore’ for accessing the database
by webapplication. This user has access over localhost only and has database-specific privileges only: The user is not granted
any action in the database cluster exept of SELECT, INSERT, UPDATE and DELETE on the database ’bti7054web’.
The webapplication makes use of two tables: ’users’ and ’accounts’. The tables both have unique identifiers as primary
keys (autoincrement on INSERT) and different datatypes for the rest of the fields. A single foreign key is in use: The field
accounts.user id references users.id and will cascade on delete.
Figure 3.1: Values of tables ’users’ and ’accounts’ as shown in bash.
3.3 PHP
The /etc/php5/apache2/php.ini is configured as follows: No Magic Quotes, handle non-ASCII characters using UTF-8.
Passwords Safe, Roland Bruggmann, June 2014 3
4 Application
4.1 Code separation
Figure 4.1: Project folders
4.2 Database Interaction and Forms
ˆ User profile: registration / login / edit
ˆ Accounts management: add / edit / delete
4.3 Security
ˆ Prevent SQL injection exploits when using user-supplied data in a SQL query by the use of query parameter tokens
ˆ Prevent SQL injection by the use of PDO library
ˆ Prevent XSS attacks when displaying user-supplied data on a web page by the use of htmlentities()
ˆ Prevent brute force and rainbow table attacks by generation of an 8 byte salt randomly and hashing the master
password with the salt 65536 times
ˆ The passwords of managed accounts are encrypted with the users master password (prevents from reading it by a
database administrator).
Passwords Safe, Roland Bruggmann, June 2014 4

More Related Content

Similar to Passwords Safe

Developer's guide for Readpeer Android
Developer's guide for Readpeer AndroidDeveloper's guide for Readpeer Android
Developer's guide for Readpeer Android
Weiran Liu
 
How browsers work landscape
How browsers work landscapeHow browsers work landscape
How browsers work landscape
anandkishore
 
HCL Info Portal Report
HCL Info Portal ReportHCL Info Portal Report
HCL Info Portal Report
Sathish Gp
 
Blue Monitor Ria ,flex and silverlight Consulting Services
Blue Monitor Ria ,flex and silverlight Consulting ServicesBlue Monitor Ria ,flex and silverlight Consulting Services
Blue Monitor Ria ,flex and silverlight Consulting Services
bluemonitor
 

Similar to Passwords Safe (20)

Developer's guide for Readpeer Android
Developer's guide for Readpeer AndroidDeveloper's guide for Readpeer Android
Developer's guide for Readpeer Android
 
BEdita, a development platform
BEdita, a development platformBEdita, a development platform
BEdita, a development platform
 
Essay On Active Directory
Essay On Active DirectoryEssay On Active Directory
Essay On Active Directory
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
mblock_extension_guide.pdf
mblock_extension_guide.pdfmblock_extension_guide.pdf
mblock_extension_guide.pdf
 
How browsers work landscape
How browsers work landscapeHow browsers work landscape
How browsers work landscape
 
Visual Programming
Visual ProgrammingVisual Programming
Visual Programming
 
Real World Patterns for Cloud Computing
Real World Patterns for Cloud ComputingReal World Patterns for Cloud Computing
Real World Patterns for Cloud Computing
 
How Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul IrishHow Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul Irish
 
History of-silverlight-versions-and-its-features-CRB-Tech
History of-silverlight-versions-and-its-features-CRB-TechHistory of-silverlight-versions-and-its-features-CRB-Tech
History of-silverlight-versions-and-its-features-CRB-Tech
 
History of silverlight versions and its features
History of silverlight versions and its featuresHistory of silverlight versions and its features
History of silverlight versions and its features
 
HCL Info Portal Report
HCL Info Portal ReportHCL Info Portal Report
HCL Info Portal Report
 
Interview with Anatoliy Kuznetsov, the author of BitMagic C++ library
Interview with Anatoliy Kuznetsov, the author of BitMagic C++ libraryInterview with Anatoliy Kuznetsov, the author of BitMagic C++ library
Interview with Anatoliy Kuznetsov, the author of BitMagic C++ library
 
D033017020
D033017020D033017020
D033017020
 
Blue Monitor Ria ,flex and silverlight Consulting Services
Blue Monitor Ria ,flex and silverlight Consulting ServicesBlue Monitor Ria ,flex and silverlight Consulting Services
Blue Monitor Ria ,flex and silverlight Consulting Services
 
Web 2.0: characteristics and tools (2010 eng)
Web 2.0: characteristics and tools (2010 eng)Web 2.0: characteristics and tools (2010 eng)
Web 2.0: characteristics and tools (2010 eng)
 
124157075 gb
124157075 gb124157075 gb
124157075 gb
 
29041329 interview-questions-for-server-2003
29041329 interview-questions-for-server-200329041329 interview-questions-for-server-2003
29041329 interview-questions-for-server-2003
 
Description of VivaVisualCode
Description of VivaVisualCodeDescription of VivaVisualCode
Description of VivaVisualCode
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
 

More from Roland Bruggmann

More from Roland Bruggmann (20)

Fingerprint Analysis – Preprocessing and Feature Extraction
Fingerprint Analysis – Preprocessing and Feature ExtractionFingerprint Analysis – Preprocessing and Feature Extraction
Fingerprint Analysis – Preprocessing and Feature Extraction
 
Unreal Engine IoT Project: Heartbeat
Unreal Engine IoT Project: HeartbeatUnreal Engine IoT Project: Heartbeat
Unreal Engine IoT Project: Heartbeat
 
3D Content for Dream-like VR
3D Content for Dream-like VR3D Content for Dream-like VR
3D Content for Dream-like VR
 
OSG Volume Rendering - Presentation
OSG Volume Rendering - PresentationOSG Volume Rendering - Presentation
OSG Volume Rendering - Presentation
 
Swiss National Supercomputing Centre CSCS
Swiss National Supercomputing Centre CSCSSwiss National Supercomputing Centre CSCS
Swiss National Supercomputing Centre CSCS
 
Sprechen als Handeln
Sprechen als HandelnSprechen als Handeln
Sprechen als Handeln
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und Integration
 
Multicore and GPU Programming
Multicore and GPU ProgrammingMulticore and GPU Programming
Multicore and GPU Programming
 
Unity® Volume Rendering - Abstract
Unity® Volume Rendering - AbstractUnity® Volume Rendering - Abstract
Unity® Volume Rendering - Abstract
 
Unity® Volume Rendering - Benutzerhandbuch
Unity® Volume Rendering - BenutzerhandbuchUnity® Volume Rendering - Benutzerhandbuch
Unity® Volume Rendering - Benutzerhandbuch
 
Serious Game "Virtual Surgery" - Game Design Document
Serious Game "Virtual Surgery" - Game Design DocumentSerious Game "Virtual Surgery" - Game Design Document
Serious Game "Virtual Surgery" - Game Design Document
 
OSG Volume Rendering
OSG Volume RenderingOSG Volume Rendering
OSG Volume Rendering
 
Digitale Kamera und Modulationstransferfunktion
Digitale Kamera und ModulationstransferfunktionDigitale Kamera und Modulationstransferfunktion
Digitale Kamera und Modulationstransferfunktion
 
Quadriken im Raum
Quadriken im RaumQuadriken im Raum
Quadriken im Raum
 
Visualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und DatenstrukturenVisualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und Datenstrukturen
 
User-centered Design für Telemedizin-App
User-centered Design für Telemedizin-AppUser-centered Design für Telemedizin-App
User-centered Design für Telemedizin-App
 
Ondes stationnaires
Ondes stationnairesOndes stationnaires
Ondes stationnaires
 
Stehende Wellen
Stehende WellenStehende Wellen
Stehende Wellen
 
TOGAF Architecture Content Framework
TOGAF Architecture Content FrameworkTOGAF Architecture Content Framework
TOGAF Architecture Content Framework
 
Cultural Dimensions
Cultural DimensionsCultural Dimensions
Cultural Dimensions
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Passwords Safe

  • 1. Course: Information Technology, Module BTI7054 Web Programming Author: Roland Bruggmann, brugr9@bfh.ch Lecturer: Prof. Dr. Emmanuel Benoist, bie1@bfh.ch Date: June 2014 Berner Fachhochschule | Haute ´ecole sp´ecialis´ee bernoise | Bern University of Applied Sciences Passwords Safe Web-Based Password Management Application Term paper
  • 2. 1 Introduction For the development with HTML(5), CSS(3), JavaScript and PHP the IDE Eclipse with PDT1 and the software ’git’ for versioning were used. The web-application got tested with Mozilla Firefox v29.0 and partially with Chromium v34 webbrowser. It is actually running and accessible over https://pwsafe.geogeek.ch/, the code can be downloaded from https://github.com/brugr9/pwsafe/. Once logged in a user can access three pages: ˆ Dashboard ˆ Accounts Management (List of Accounts / Add an Account / Edit Account Nr. XY) ˆ User Profile Figure 1.1: Screenshot of ’Passwords Safe’: Accounts Management for a user named ’geek’. 1Eclipse PDT: PHP Development Tools for Eclipse Passwords Safe, Roland Bruggmann, June 2014 1
  • 3. 2 Webdesign 2.1 Layout The site has a single column layout with four sections (from top): ˆ <header> ˆ <nav> (horizontal navigation) ˆ <div id=“content”> ˆ <footer> The layout is optimized for a minimum resolution of 800 x 1280 pixels. Therefore, by the use of a todays tablet PC, displaying all elements without horizontal scroll should be guaranteed. 2.2 Style As the webapplication serves with security releveant features, the idea was to transport the spirit of a sound firm or organisation by layout. The visual message should say: ˆ smart and simple (usability), ˆ calm (no panic) and ˆ clean (serious). First, colors were used as given by the corporate identity of the organisation. The background showing dotted ’grip’ suggests giving technical control to the user (usability). For letters/text with a linking anchor, the transition on mouseover is delayed in time (no panic). And finally a typographic point of view: For the header elements, the font “Trebuchet MS” is in use. Moreover, the proportional serif typeface“Linux Libertine“ was choosen for the content and the footer, in combination with “Linux Biolinum”for titles and links (calmness, seriosity)1 . Furthermore, the smooth look-and-feel derives from features supported by CSS3, e.g. border-radius, box-shadow and transition: The login and signup forms fade in without any extra code in JavaScript. 2.2.1 Icons The icons are png-formatted and 16-by-16 pixel in size. They are part of the famfamfam iconset called“Silk Icons”(version 1.3)2 . For having a kind of discreet colors, the icons are declared as a bit transparent by CSS. 2.2.2 Alternate With e.g. Firefox webbrowser, a user can choose an alternate style named“Contrast”which has a dark background and the font-color white. For printing, a separate stylesheet is in use for hiding the navigation (media=“print“). 1Linux Libertine: http://www.linuxlibertine.org/ 2famfamfam: http://www.famfamfam.com/lab/icons/silk/ Passwords Safe, Roland Bruggmann, June 2014 2
  • 4. 3 Backend The system runs a LAMP stack: GNU/Linux Debian operating system, Apache HTTP server, MySQL database and PHP server-side script. The application is reachable over https://pwsafe.geogeek.ch (registrar: switch; toplevel domain: ch; 2nd-level-domain: geogeek). In the Domain Name System of the Internet Service Provider, a record for the subdomain ’pwsafe’ was added (3rd-level-domain). 3.1 Apache An apache virtualhost listening on ServerName ’pwsafe.geogeek.ch’ got configured serving with HTTPS only: Requests over HTTP (port 80) will be rewritten for HTTPS (port 443). The DocumentRoot points to ’/var/www/pwsafe’, which is a symbol link to the directory where the application lives. The TLS/SSL-certificate in use is actually a self-signed snakeoil created with openSSL, all common web-browsers will make a complaint therefore. 3.2 MySQL First, a database called ’bti7054web’ was created and later on a database-user called ’passwdstore’ for accessing the database by webapplication. This user has access over localhost only and has database-specific privileges only: The user is not granted any action in the database cluster exept of SELECT, INSERT, UPDATE and DELETE on the database ’bti7054web’. The webapplication makes use of two tables: ’users’ and ’accounts’. The tables both have unique identifiers as primary keys (autoincrement on INSERT) and different datatypes for the rest of the fields. A single foreign key is in use: The field accounts.user id references users.id and will cascade on delete. Figure 3.1: Values of tables ’users’ and ’accounts’ as shown in bash. 3.3 PHP The /etc/php5/apache2/php.ini is configured as follows: No Magic Quotes, handle non-ASCII characters using UTF-8. Passwords Safe, Roland Bruggmann, June 2014 3
  • 5. 4 Application 4.1 Code separation Figure 4.1: Project folders 4.2 Database Interaction and Forms ˆ User profile: registration / login / edit ˆ Accounts management: add / edit / delete 4.3 Security ˆ Prevent SQL injection exploits when using user-supplied data in a SQL query by the use of query parameter tokens ˆ Prevent SQL injection by the use of PDO library ˆ Prevent XSS attacks when displaying user-supplied data on a web page by the use of htmlentities() ˆ Prevent brute force and rainbow table attacks by generation of an 8 byte salt randomly and hashing the master password with the salt 65536 times ˆ The passwords of managed accounts are encrypted with the users master password (prevents from reading it by a database administrator). Passwords Safe, Roland Bruggmann, June 2014 4