ActivShare: a PHP-based group collaboration website

September 7, 2012


This website concept arose out of the want to learn PHP programming, web authentication and security methods, SQL database administration, and website design all at once. It was intended to provide an environment in which files could be incrementally updated by a group, with old revisions available for downloading at any time. It additionally supports group chat, file comments, and new file notifications, as well as text file comparisons. From the administration side, features include creation of user accounts and rooms, association of users with rooms to allow for interaction, automated password recovery, and personal file management for users (including web access permissions). Security-wise, all PHP scripts were designed to disable SQL query attacks, the http login page uses a JavaScript SHA algorithm for secure one-time hashed logins without https, the password change page uses a custom SHA-based one-time encryption scheme to prevent disclosure of password data over http, rooms can be protected by a password to limit membership, and accessibility of individual files on the web can be set to public or authorized user only.

Upon successful completion of this website (after about a year of work) it saw a brief flurry of activity, mainly used as a file repository for various high school groups. After that, it fell into disuse and eventually was not worth paying for the website domain name. I am still happy with the work done on making this website functional and a useful product, and now would like to publish the entire website's source for anyone who might find it helpful. It requires MySQL databases set up as described in the includes.php file.

Download full source code.