Private Web Page Log On with Associated actions

Job ID: 35523352

Budget: $30 – $250 USD

Please do not respond without throughly reading and understanding the basic job.
Please reply with any specific questions.

We have a dedicated server for our website with cPanel backend and full access.

For security purposes, I strongly prefer to not give access to our server, if someone can build this on their own server, with instructions for what I need to install on my server. In the event I need assistance installing, we can bill that separate. I'd REALLY like to avoid security risks.

Crucial to this project, we have a basic back office mySQL interface, that allows my staff to log in to manage their leads.

They each have their own log in username and password that I create in a separate management screen, as the 'admin'.

Currently, they are logging directly into that mySQL database, however, the way they log in changes as part of this job.



Part 1 -

I need a very basic web form, just a username entry and a password entry. Upon logging in, 4 things need to happen, as outlined in this example:

https://www.actionrealestate.biz/e/

a) logging in sends user to /e/menu.htm
b) logging in gives ability to read or download anything that lives in /e/pub/
c) logging in gives ability to read, write, upload anything that lives in /e/priv/ BUT ONLY THEIR FOLDER!
d) logging in here also logs them into https://www.actionrealestate.biz/oncall/ so when they click an interior link they don't have to log in again.



Part 2 -

Write some type of htaccess (or other solution?), so that if someone attempts to surf directly to any file or sub directory without being logged in, they are directed back to the log in page. If they are logged in, that's fine, but I don't want someone from outside the company stumbling on a link and getting in directly.

The only file that should be visible, without a login, is the login page at /e/index.html



Part 3 -

Note that all usernames will be "standard users" with the functions from Part 1 above. However, 2 usernames will be admins (vlutsky, klutsky) with various additional functions.

Write a web form interface, perhaps located in /e/, accessible only by admin user log-ins.

Create first admin username admin/password admin
The first function we need, is for the admin to fill out a form to add a new standard user.

Form Fields will be First Name, Last Name, username, password, user type (defaults to Standard).

Upon submitting the form, it must create a subdir under /priv/ with the naming convention of using the username as the folder name. You can see some sample folders already set up there. As described in Part 1(c) .... the folder is only accessible by this user.

And of course, creating the user gives them the abilities described in Part 1 above.

There will also be the following functions:

delete a user (only deletes the login info - not the associated folder)
add an admin (with associated privileges)
change a username
change a password


All code is to be heavily commented. If we lose communication a year from now, and something breaks, I need to be able to have someone go in and quickly understand each section of the script.
Related categories: PHP MySQL HTML cPanel