MFS2 Update

MFS2 is now available for download only via SVN and is recommended only for tech-savvy web developers and people who want a very early hands-on with it.  The SVN address is: http://meltingice.svn.beanstalkapp.com/mfs/

Normal releases will be coming up in the near future, so stay tuned if you don’t know how to use SVN.

What is it?

MeltingIce File System is a comprehensive php personal file management script. It allows users to upload to the server it is hosted on, and once the files are uploaded, users may link other people to them. The script includes a full file management system that lists everything in a users personal directory and allows them to upload new files, delete uploaded files, and create folders for organizational purposes.

How It Works

When a user registers their username, it is stored in a MySQL database along with their password (stored in hashed form of course for maximum security). When a user logs in for the first time, a folder is created just for them with the same name as their username. This folder will act as the base directory for all of their files. Inside of that folder, a user may upload files and create folders to their hearts content. However, because of security purposes, php files are not allowed to be uploaded. Files within user’s folders are also not allowed to be executed to prevent hackers from compromising the script and/or your server. Instead, files are loaded through a php script named readfile.php and are restricted to user’s directories only. You may only view a list of files and folders in your personal folder, or a friends directory if they add you to their friends list. This allows users to choose between keeping their files private, or making them public simply by linking to them.

Requirements

You will need a UNIX-based server running Apache and a MySQL database. If you are unsure what type of server you have, this script most likely will run since the majority of servers meet these requirements. The script itself is very small (less than 1MB), but keep in mind users uploaded files take up space too!

Screenshots (currently outdated – see the demo for the actual interface)

mfs-rename mfs-delfile mfs-renamebox mfs-upload

To-do List

  • Automatic chmod when install script is run
  • Password recovery
  • Improve file edit page
  • Incorporate AJAX
  • File upload progress bar

Where can I get it?

Unfortunately a hacker who goes by the name of Mr. Black has found an exploit in my script and enjoys hacking MFS whenever hes bored. The script should be back up eventually, sorry about this everyone.

What if I want to try it out first?

The demo of MFS is no longer available on my server, sorry folks.

Changelog

v1.0 (4/7/07)

  • Added friends system
    • Allows for collaborative projects
    • Can set a friends access permissions (read only or read and write access)
  • Admin panel updated with more options
    • Toggle friend system on/off
    • Toggle registration on/off
    • Ability to search through users
    • User list now split up into pages in order to decrease server load
  • Some pages design was cleaned up to be more consistent
  • namecheck.php now uses regular expressions to check the validity of usernames and uploaded files, which is much more secure and failsafe
  • For those users having issues with their php.ini file: I accidentally included my own php.ini file in the last release or two, and this may be conflicting with yours. If there is a php.ini file in the base MFS directory when there shouldn’t be, try deleting it and see if that works.

v0.9 beta (3/29/07)

  • User adding now available in admin panel
  • Added ability to move files into and out of folders
  • A couple of small bug fixes

v0.8 beta (3/26/07)

  • All updates for PHP5 version only, PHP4 version will be updated within a day or two
  • Fixed some small bugs that needed to be addressed
  • Directory path linkage now works no matter what folder you’re in
  • Added user deletion and individual user quota updating in admin panel
  • Some code cleaning and optimization
    • Fixed small problem with strtolower
    • Fixed issue some people were having with mb_strtolower being an unknown function
    • Added edit.php for editing files right in your web browser
    • Improved compatibility with Internet Explorer
    • Changed hash() method to md5() for PHP4 compatible version in install.php and upgrade.php
    • Visually redesigned index.php, admin.php, and moved registration to a separate file
    • User space quotas implemented
    • Admin panel added to manage quotas
    • Since there were some database changes, an upgrade.php script is now in the download
    • Made it so all usernames are converted to lowercase, with their spaces removed, for consistency and identity-based reasons
    • New interface design implemented
    • Delete file confirmation box added
    • Fixed bug in readfile.php for when a file is downloaded
    • Added folder deletion
    • Implemented file and folder renaming
    • Fixed security hole that would potentially allow a user to upload a file anywhere on the server
    • Updated install.php to fix an error if you didn’t specify a table prefix during installation
    • You can now specify a database table prefix if you want. The default is “mfs”.
    • Updated visual design
    • Remembered to include mime.types this time
    • Uploading now returns you to the same directory instead of your root directory
    • Some added comments for those who wish to edit the script
    • mfs released
  • v0.70c beta (3/25/07)

    v0.70b beta (3/21/07)

    v0.70 beta (3/13/07)

    v0.65b beta (3/7/07)

    v0.65 beta (3/6/07)

    v0.6 beta (3/4/07)

    v0.5 beta (2/28/07)

    v0.35 beta (2/22/07)

    v0.3 beta (2/22/07)

    v0.26 beta (2/21/07)

    v0.25 beta (2/20/07)

    v0.2 beta (2/19/07)

    v0.1 beta (2/18/07)