presentation part i of ii

34
3 rd Year Project Designing and implementing a secure portal for the department's alumni

Upload: lee-chadwick

Post on 22-Jan-2018

132 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentation Part I of II

3rd Year Project

Designing and implementing a secure portal for the department's alumni

Page 2: Presentation Part I of II

Introduction

Brief Introduction to software chosen to implement project and some alternatives

Work undertaken on aspect of project (main part of this presentation)

Brief discussion on security

Page 3: Presentation Part I of II

What Software

Using a combination of:– PHP (Hypertext Pre-processor)– MySQL (My Structured Query Language)– Apache (Web Server)

Server-side scripting common use of PHP– Web server– Web browser– PHP parser

Page 4: Presentation Part I of II

PHP

Open Source– Free to use

Dynamic– Allows dynamic web page creation. On the ‘fly’

Interactive– Allows interaction with databases

Freedom to choose– Web-server– Operating System

Page 5: Presentation Part I of II

PHP

HTML-embedded web scripting language – PHP code is transformed into HTML before page is loaded– Users cannot view source code of PHP pages

Types of programming it offers:– Procedural– Object orientated– (or mixture of both)

Supports ODBC (Open Database Connection standard)– Which is the World wide database standard

Page 6: Presentation Part I of II

PHP

Supports extensive range of operating systems– Windows– Linux– Mac OS X– Risc OS

Supports extensive range of browsers– Apache– Microsoft Internet Information Server– Personal Web Server– Netscape

Page 7: Presentation Part I of II

PHP

Supports talking to other services– LDAP, IMAP, SNMP, NNTP, – POP3, HTTP, COM

Also supports– Java, XML, SAX, DOM

Not limited to output HTML– Can output images, PDF files and even Flash movies

Page 8: Presentation Part I of II

PHP

Supports extensive range of databases– MySQL– Oracle– IBM DB2– InterBase– Sybase– Unix dbm

Page 9: Presentation Part I of II

PHP – supports extensive range of databases continued…

Adabas D InterBase PostgreSQL dBase FrontBase SQLite Empress mySQL Solid FilePro (read-only) Direct MS-SQL Sybase Hyperwave Velocis IBM DB2 ODBC Unix dbm Informix Oracle (OCI7 and OCI8) Ingres Ovrimos

Page 10: Presentation Part I of II

PHP

PHP can act as a CGI (Common Gateway Interface)

– CGI used to exchange data between web server and a program

PHP has function for online payments– Cybercash payment– CyberMUT – VeriSign – Payflow Pro – MCVE

Page 11: Presentation Part I of II

MySQL

Open Source– Free to use– Can tailor it to your own needs– Most popular relational database in the world

Stores data in tables rather than one huge area

Renowned for its– Speed– Flexibility– Reliability– Ease of use– Robustness

Simple yet powerful

Page 12: Presentation Part I of II

Apache

Open Source– Free to use– One of the most powerful and widely used Web server in use today

Security– Enables the use of SSL (Secure Socket Layer)

Supports– Extensive range of operating systems including:

Windows Linux Mac OS X

Page 13: Presentation Part I of II

Alternatives

Page 14: Presentation Part I of II

Aspect of project being described today

Style and Code repetition issues– What has been introduced to help here:

CSS (Cascading Style Sheet) Header File

Page 15: Presentation Part I of II

CSS – (Cascading Style Sheet)

CSS Helps:– separate content and structure from presentation and layout

Content can be changed independently of formatting because presentation and layout can be handled by a separate CSS file. External CSS being used in this project

– Web Designers to: Create documents that load faster:

– and that are easier to maintain and manage

Page 16: Presentation Part I of II

CSS

CSS Helps:– Reduces needs to input formatting into individual

PHP files for: Tables Borders Images Text (paragraphs, H1, h2 etc)

– Provides way to apply formatting and style into multiple files using one or more CSS files.

Page 17: Presentation Part I of II

CSS

CSS Helps:– Reduces risk of style and presentation errors

Introduced by programmers coding style and presentation into individual files with no real link to other files on the website

– Provides ways to apply the same formatting and style into multiple files using one or more CSS files.

Page 18: Presentation Part I of II

Header File

Header Files Help:– Removes the need to repeat coding in various files for

common features such as: Navigation bars Images Copyright notices Tables Borders

– Example: Reduce the costs, of time spent copying/separating content

and coding of individual pages, no need to repeat copyright notice into each PHP file just include it as a footer function in the Header file and call it with one short line of code.

Page 19: Presentation Part I of II

Examples Home Page (Nick’s Version)

Page 20: Presentation Part I of II

ExamplesHome Page (Lee’s Version)

Page 21: Presentation Part I of II

Examples Administrator Login Page (Nick’s Version)

Page 22: Presentation Part I of II

Examples Administrator Login Page (Lee’s Version)

Page 23: Presentation Part I of II

Examples New Register Page (Nick’s Version)

Page 24: Presentation Part I of II

Examples New Register Page (Lee’s Version)

Page 25: Presentation Part I of II

Examples Registered Alumni User Login Page (Nick’s Version)

Page 26: Presentation Part I of II

Examples Registered Alumni User Login Page (Lee’s Version)

Page 27: Presentation Part I of II

Nick’s Version Explained

Home Page

New Register

Administrator Login

Alumni Login

Page 28: Presentation Part I of II

Lee’s Version Explained

Home Page

New Register

Administrator Login

Alumni Login

Page 29: Presentation Part I of II

Nick’s and Lee’s Versions Compared

Home Page Administrator Login New Register Alumni Login

Page 30: Presentation Part I of II

Let’s compare coding costs - Example

Membernavigation.html (Nick’s Version) Membernavigation.php (Lee’s Version)

12,107 characters (no spaces)

281 lines in Dreamweaver

2,472 characters (no spaces)

89 lines in Dreamweaver

Page 31: Presentation Part I of II

Brief discussion on Security

PHP, mySQL, Apache

– Security on mySQL and Apache servers being used in this project is control by the Department of Communication Systems

– I can help by writing more security conscious code both in PHP coding and mySQL scripts

– Using methods such as encryption to secure passwords, MD5 (Message Digest 5) has been implemented for Alumni password, stronger algorithms to be considered for Administrator password.

Page 32: Presentation Part I of II

Brief discussion on Security

PHP, mySQL, Apache

– Learnt how to install mySQL and Apache Servers on standalone PC/Server

– Learnt common ways in which you can make them more secure for example set global variables to “off”

– Made use of sessions on all pages, also on login pages check that both the username AND passwords are correct to login to the required session.

Page 33: Presentation Part I of II

Brief discussion on Security

PHP, mySQL, Apache

– Going to implement use of PEAR’s CAPTCHA (in PHP) Technology helps distinguish between computer and

human input (particularly useful for “New Register”)

Page 34: Presentation Part I of II

Questions?

Please free to ask any questions either on material covered this morning or any other aspects related to the project

Views, feedback, suggestions would be much appreciated.

THANK YOU