PHP Classes

PHP Web Server Configuration Policy Maker: Generate Web server configuration from a policy

Recommend this page to a friend!
  Info   View files Documentation   View files View files (3)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2022-01-07 (14 days ago) RSS 2.0 feedNot yet rated by the usersTotal: 35 This week: 2All time: 10,345 This week: 85Up
Version License PHP version Categories
policymaker 1.0.0GNU General Publi...5PHP 5, Systems administration, Config...
Description Author

This package can generate Web server configuration from a policy.

It can take an array with options that define policy parameters like denying or allowing access to the content of a given Web server directory files.

The class can generate configuration files for different Web servers to comply with policy configuration parameters.

Picture of Ali YILMAZ
Name: Ali YILMAZ <contact>
Classes: 8 packages by
Country: Turkey Turkey
Innovation award
Innovation award
Nominee: 5x

Details

What is policyMaker ?

This package serves to create custom access policies for server software. Apache, Microsoft ISS, LiteSpeed and Nginx software are supported.

Out-of-class use:

code:

require_once('Mind.php');
$m = new Mind([
    'policy'=>array(
        'allow'=>'public' // or array
    )
]);
$m::aliyilmaz('policyMaker')->policyMaker();

When using it in the class:

code:

self::$conf = [
    'policy'=>array(
        'allow'=>'public' // or array
    )
];
self::aliyilmaz('policyMaker')->policyMaker();

Out-of-class use:

code:

require_once('Mind.php');
$m = new Mind();
$m::aliyilmaz('policyMaker')->policyMaker();
// $m::aliyilmaz('policyMaker')->setAllow('public')->policyMaker();
// $m::aliyilmaz('policyMaker')->setDeny('developer')->policyMaker();
// $m::aliyilmaz('policyMaker')->setDeny('developer')->setAllow('public')->policyMaker();
// $m::aliyilmaz('policyMaker')->setDeny(['developer', 'app'])->setAllow(['public', 'files'])->policyMaker();

When using it in the class:

code:

self::aliyilmaz('policyMaker')->policyMaker();
// self::aliyilmaz('policyMaker')->setAllow('public')->policyMaker();
// self::aliyilmaz('policyMaker')->setDeny('developer')->policyMaker();
// self::aliyilmaz('policyMaker')->setDeny('developer')->setAllow('public')->policyMaker();
// self::aliyilmaz('policyMaker')->setDeny(['developer', 'app'])->setAllow(['public', 'files'])->policyMaker();

output:

Server access files are created by server software type. 
Blocking access to directories is always a priority. 
Therefore, if a conflicting directory is detected in the directory definitions, access is denied. 
Access to directories that are not specifically allowed is always blocked.

For Nginx: The following steps should be applied only for Nginx, there is no need for intervention in other server software. Add the following rules to the server {} container in the .conf file that affects the project and restart the server. You need to enter the directories whose access you will restrict in the parenthesis in the location ~ /(app)/ section with | separator such as (app|special).

error_page 404 /index.php;
location / {
    try_files $uri $uri/ /index.php$is_args$args;
    autoindex on;
}
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass php_upstream;		
}
location ~ /(app)/ {
    deny all;
    return 403;
}

Dependencies

  1. getSoftware 1.0.1
  2. write 1.0.1

License

Instructions and files in this directory are shared under the GPL3 license.

  Files folder image Files  
File Role Description
Files folder imagesrc (1 file)
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  src  
File Role Description
  Plain text file policyMaker.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:35
This week:2
All time:10,345
This week:85Up
For more information send a message to info at phpclasses dot org.