Make Filenames human unreadable

Since Januar the 17th of 2016 mobiki has a new configuration option:

define('HEXFILENAMES',		'no');

One basic concept of a simple wiki without database storage is, that wiki pages are stored as files in a file system. But a filesystem has some limitations: Some characters like "*" or "?", which could be part of a wiki page title, can not be part of a filename. That differs a bit from system to system, but all filesystems have some limitation. And mobiki needs to run unchanged on all systems.

Converting Wiki Page Titles

So the wiki's page title or wiki page name, which is the same, needs to be reversable converted to be stored. mobiki can use two different approaches to do this:

  1. Using the PHP function urlencode(), which transforms the page title to an URL to surround the limitations or
  2. Making use of bin2hex by setting the option to "yes", which is more simple, but converts the title in a non human readable text string, like "0ffabe84275a" for example.

Beeing non human readable is an advantage and disadvantage at the same time. Advantage, if you think about a curious admin, who has an eye on your server's files and disadvantage, because you can not find out by yourself, what page is stored in what file.