Differences

This shows you the differences between two versions of the page.

docs:phppathfinder [2010/01/10 00:02]
attilio pavone
docs:phppathfinder [2010/01/10 05:37] (current)
attilio pavone
Line 7: Line 7:
You can view an online demo here: You can view an online demo here:
[[http://lnx.utillyty.eu/utillyty.php/pathfinder|online demo]] [[http://lnx.utillyty.eu/utillyty.php/pathfinder|online demo]]
 +
 +<note warning>
 +Tested on
 +  * Firefox 3.5
 +  * Opera 10.10
 +  * Safari 3.0
 +  * Chrome 3.0
 +  * Internet Explorer 8.0
 +  * Konqueror 3.5
 +</note>
===== Download ===== ===== Download =====
-last stable version: **0.1.0, 09 Jan 2010**+last stable version: **0.1.0, 10 Jan 2010**
-You can get phpPathFinder from+phpPathFinder comes as part of **utillyt.php** (still under development).\\ 
 +You can get it from
[[http://sourceforge.net/projects/phppathfinder]] [[http://sourceforge.net/projects/phppathfinder]]
===== Install ===== ===== Install =====
-Download and extract the last release archive.\\ +Download and extract the latest **utillyty.php** release archive from [[https://sourceforge.net/projects/phppathfinder/|sourceforge]].\\ 
-Edit config.php and .pfaccess for your requirements (see [[docs:phppathfinder#configuration|Configuration]] below).\\+Enter the pathfinder folder and edit config.php and .pfaccess for your requirements (see [[docs:phppathfinder#configuration|Configuration]] below).\\
FTP to your site.\\ FTP to your site.\\
<note>PHP 5.3.1 or later required</note> <note>PHP 5.3.1 or later required</note>
 +<note important>
 +phpPathFinder comes as part of utillyty.php.\\
 +You need the entire utillyty.php folder to get it working.
 +</note>
===== Configuration ===== ===== Configuration =====
 +
 +Before running phpPathFinder you must configure it.
 +Enter the ..utillyty.php/pathfinder folder. There are two file you must edit to set configuration:
 +  * config.php
 +  * .pfaccess (path-finder access)
 +Optionally you can change the styling editing the pathfinder.css file.
==== config.php ==== ==== config.php ====
-==== .pfaccess ====+There are 5 configurable global variables in the config.php file:
== PFACCESS == == PFACCESS ==
Line 70: Line 91:
</code> </code>
-.htaccess+<note> 
 +the $APPNAME and $APPVERSION are predefined global vars in the phpPathFinder.php file 
 +</note>
 +==== .pfaccess ====
 +
 +There are 8 configurable permission parameters:
 +  * **root**: the absolute or relative (to phpPathFinder.php) path of the top folder the user can work on (mandatory);
 +  * **whitelist**: a dot ('.') separated list of file extension the user can work on (default = empty);
 +  * **blacklist**: a dot ('.') separated list of file extension the user is forbidden to work on (default = empty);
 +  * **browse**: 0 or 1. if 1 the user can browse files/folders (default = 0)
 +  * **download**: 0 or 1. if 1 the user can download (default = 0)
 +  * **edit**: 0 or 1. if 1 the user can copy/move/rename files/folders (default = 0);
 +  * **remove**: 0 or 1. if 1 the user can delete files/folders (default = 0);
 +  * **upload**: 0 or 1. if 1 the user can upload files (default = 0);
 +
 +Only the root parameter is mandatory, all others have defaults.
 +Each permission is independent from the others
 +
 +The .pfaccess file store information in records grouped in 4 sections.\\
 +A section is started with the '@' token.
 +Each record is a text line with a comma separated name/value list of parameters.\\
 +Each parameter is in the form: 'name:value'.\\
 +You can put line comments anywhere in the file, **except the @passwords section**, using the '#' token.\\
 +
 +== Sections ==
 +
 +== @default ==
 +This section contains one record with the default user permissions parameters either for anonymous user, or if a parameter is not explicitly declared neither in the group nor in the user record of a logged user.\\
 +Syntax:\\
 +username:@anonymous, group:@anonymous, root: [, browse: , download: , edit: , remove: , upload: , whitelist: , blacklist]
 +<note important>
 +'@anonymous' is a RESERVED key value for the @default user username, and group name and will be set automatically by the system. You cannot use this values for users records.
 +</note>
 +
 +== @groups ==
 +This section contains group permissions parameters for logged users.\\
 +Syntax:\\
 +username:, group: [, root: , browse: , download: , edit: , remove: , upload: , whitelist: , blacklist]
 +
 +== @users ==
 +Each line on this section contains the user's user name and group name. Optionally authorization parameter in the group section can be overridden here.\\
 +Syntax:\\
 +name: [, root: , browse: , download: , edit: , remove: , upload: , whitelist: , blacklist]
 +
 +== @passwords ==
 +Each line contain a record with username and MD5 encryped password.\\
 +Syntax:\\
 +username:MD5password\\
 +
 +== Precedence ==
 +
 +When a user log in to phpPathFinder, the system first check the username and password,
 +than set each the permission parameters with this precedence:
 +  * the user record in the @users section
 +  * the group record (where group.name = user.gruopname) in the @groups section
 +  * the @default record
 +If no login is provided the @default section parameters are used.
 +
 +<note>
 +If you don't want anonymous user not even browse list, remove the browse permission from the @default section (or set it to 0).
 +</note>
 +
 +<note important>
 +Remember to instruct your web server not to allow direct access to the root folder, i.e. by means of an .htaccess file (view .htacees_sample file).
 +</note>
 +
 +The full content of a .pfaccess sample file follows:
 +
 +<code>
 +# default ====================
 +
 +@default
 +root: ../test/playground, browse:1, blacklist:.php.asp.perl
 +
 +# groups =====================
 +
 +@groups
 +
 +name: admins, root: ../test/playground, download: 1, edit: 1, remove: 1, upload: 1
 +name: users, root: ../test/playground, download: 1, upload:1
 +name: guests, root: ../test/playground, download: 1
 +
 +# users ======================
 + 
 +@users
 +
 +username: admin, group: admins
 +username: user, group: users
 +username: guest, group: guests
 +
 +
 +# passwords ==================
 +#
 +# <username>:password
 +# NB: you can't put any comment below this section!
 +
 +@passwords
 +
 +admin:21232f297a57a5a743894a0e4a801fc3
 +user:ee11cbb19052e40b07aac0ca060c23ee
 +guest:084e0343a0486ff05530df6c705c8bb4
 +
 +</code>
===== Licence ===== ===== Licence =====
Line 97: Line 220:
===== Develope ===== ===== Develope =====
 +
 +**utillyty.php** cvs repository is stored at:
 +[[https://sourceforge.net/projects/u-omnibus/|UTillyty.Omnibus]] under the utillyty.php cvs module.
===== Revision history ===== ===== Revision history =====
Line 104: Line 230:
This is the first alpha version. This is the first alpha version.
 +===== Forum =====
 +
 +[[talk:docs:phppathfinder|Talk:phpPathFinder]]

Navigation
Personal Tools