That's not really the question you want to ask. Of course there is a way to do this - everybody else does it already, don't they?
Short answer: Learn how to program in Perl/PHP/etc and read up on HTTP protocol and Apache web server administration, etc.
Answer that's a question(s): How much do you know, how much money do you have, and when do you need it done?
1. Perl Form Upload Script Source
2. Use ..htaccess to password protect a Web directory using HTTP Basic Authentication,
or prevent hotlinking, see Web Admin Panel -> Goodies -> Htaccess/WebDAV
Perl / MySQL / HTML CSS