From the UTillyty dokuwiki
Differences
This shows you the differences between two versions of the page.
docs:phppathfinder [2010/01/10 01:00] 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 latest 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 ==== | ||
Line 78: | Line 99: | ||
There are 8 configurable permission parameters: | 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); | * **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 = ''); | + | * **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 = ''); | + | * **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) | * **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) | * **download**: 0 or 1. if 1 the user can download (default = 0) | ||
Line 86: | Line 107: | ||
* **upload**: 0 or 1. if 1 the user can upload files (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 | Each permission is independent from the others | ||
- | The .pfaccess file contains user/group authorization information divided in 4 sections: | + | 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 == | == @default == | ||
- | This section contains one line 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. | + | 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 == | == @groups == | ||
- | This section contains group permissions parameters for logged users. | + | This section contains group permissions parameters for logged users.\\ |
+ | Syntax:\\ | ||
+ | username:, group: [, root: , browse: , download: , edit: , remove: , upload: , whitelist: , blacklist] | ||
== @users == | == @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. | + | 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 == | == @passwords == | ||
- | Each line contain a record with username and MD5 encryped password. | + | 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, | When a user log in to phpPathFinder, the system first check the username and password, | ||
Line 109: | Line 150: | ||
If no login is provided the @default section parameters are used. | If no login is provided the @default section parameters are used. | ||
- | <note important> | ||
- | '@anonymous' is a RESERVED key value for the @default user username, group, and password and will be set automatically by the system. You cannot use this values for users records. | ||
- | </note> | ||
<note> | <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). | 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> | ||
- | .htaccess | + | <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 143: | 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 150: | Line 230: | ||
This is the first alpha version. | This is the first alpha version. | ||
+ | ===== Forum ===== | ||
+ | |||
+ | [[talk:docs:phppathfinder|Talk:phpPathFinder]] | ||
You are here: utillyty » docs » phppathfinder