Presentation Part I of II
-
Upload
lee-chadwick -
Category
Documents
-
view
132 -
download
0
Transcript of Presentation Part I of II
![Page 1: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/1.jpg)
3rd Year Project
Designing and implementing a secure portal for the department's alumni
![Page 2: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/8.jpg)
PHP
Supports extensive range of databases– MySQL– Oracle– IBM DB2– InterBase– Sybase– Unix dbm
![Page 9: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/13.jpg)
Alternatives
![Page 14: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/19.jpg)
Examples Home Page (Nick’s Version)
![Page 20: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/20.jpg)
ExamplesHome Page (Lee’s Version)
![Page 21: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/21.jpg)
Examples Administrator Login Page (Nick’s Version)
![Page 22: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/22.jpg)
Examples Administrator Login Page (Lee’s Version)
![Page 23: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/23.jpg)
Examples New Register Page (Nick’s Version)
![Page 24: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/24.jpg)
Examples New Register Page (Lee’s Version)
![Page 25: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/25.jpg)
Examples Registered Alumni User Login Page (Nick’s Version)
![Page 26: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/26.jpg)
Examples Registered Alumni User Login Page (Lee’s Version)
![Page 27: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/27.jpg)
Nick’s Version Explained
Home Page
New Register
Administrator Login
Alumni Login
![Page 28: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/28.jpg)
Lee’s Version Explained
Home Page
New Register
Administrator Login
Alumni Login
![Page 29: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/29.jpg)
Nick’s and Lee’s Versions Compared
Home Page Administrator Login New Register Alumni Login
![Page 30: Presentation Part I of II](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062401/589ce3f51a28abf86d8b5c0b/html5/thumbnails/34.jpg)
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