page: .private to restrict access to subdirectories
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 16 Sep 2017 14:06:36 +0000 (16:06 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 18 Sep 2017 18:21:28 +0000 (20:21 +0200)
403.html [new file with mode: 0644]
page.php

diff --git a/403.html b/403.html
new file mode 100644 (file)
index 0000000..ffac19e
--- /dev/null
+++ b/403.html
@@ -0,0 +1,3 @@
+<h2>Verboden toegang</h2>
+
+<p>Dit deel van de website is alleen zichtbaar voor leden.</p>
index e8023ffab10c21a273f3fa015c4e3ee35f90469b..730f0156935ed9b522e371e509e3860ffc6da103 100644 (file)
--- a/page.php
+++ b/page.php
@@ -39,6 +39,17 @@ $Args = '';
 $Page = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']);
 $Page = urldecode(trim($Page, '/')) ?: 'index';
 while (TRUE) {
+       if (file_exists("$Page/.private")) {
+               # access restriction
+               if (!isset($User)) {
+                       http_response_code(403);
+                       include_once 'page.inc.php';
+                       ob_start();
+                       require_once './403.html';
+                       exit;
+               }
+       }
+
        if (file_exists("$Page.php")) {
                break;
        }