]> 91.132.146.200 Git - selfpaste.git/commitdiff
Multiple secrets
authorBanana <mail@bananas-playground.net>
Mon, 6 Apr 2020 20:27:23 +0000 (22:27 +0200)
committerBanana <mail@bananas-playground.net>
Mon, 6 Apr 2020 20:27:23 +0000 (22:27 +0200)
CHANGELOG
TODO
documentation/requirements.txt
documentation/update.txt
webroot/config.default.php
webroot/index.php

index e44f1dcad751edc5f7ded36df8919e0d31d22b4a..40d7915a9fa842ec75bab39e14f8fd5e0fe514ac 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,7 +4,8 @@ tbd version 0.4-beta Beryllium
 * added html and js to the default allowed files
 * added an example cronjob file which can be used
   to clean old pastes. See clean-cronjob.txt for more
-  detals
+  details
+* Multiple secrets are now supported
 
 2020101 version 0.3-beta Lithium
 * Update information now included
diff --git a/TODO b/TODO
index 8f1f48cf8e612407e8e0fcbf29c3a3ebdb3c0b84..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,2 +0,0 @@
-* small footprint
-* multiple secrets
index b1209a2414539d751a4b509380fee6859fccaf9c..70a5c92376584d3c96d2aca8f21b2007a229a2d3 100644 (file)
@@ -2,5 +2,5 @@ PHP >=7.3
 Apache >= 2.4
 - mod_deflate
 - mod_rewrite
-- htaccess support
+- htaccess support AllowOverride All
 Bash, curl and jq for included bash client
\ No newline at end of file
index 20d28a7b6dde1fd6a6909882823a6f8e3bafe48d..dd7ee4f3d3594059a5c6221f87a2e1b68c423e87 100644 (file)
@@ -1,2 +1,15 @@
 If you update from a previous version make sure every update step is done
-since your current used version.
\ No newline at end of file
+since your current used version.
+
+## 0.4-beta Beryllium
+Update your config.php to reflect the following updates.
+selfpaste does now support the usage of multiple secrets.
+The usage is written into create.log
+define('SELFPASTE_UPLOAD_SECRET',
+       array(
+               'PLEASE CHANGE YOUR SECRET' => 'Your description for this secret 1',
+               'PLEASE_2' => 'Your description for this secret'
+       )
+);
+# creation of a paste and which secret was used into logs/create.log file
+define('LOG_CREATION',true);
\ No newline at end of file
index 81b2b4073a1a1367900b64bc329bbac1d7682cb2..dfa0af5e019021822472e2b6aba1182017b635c6 100644 (file)
 
 # this is your installation secret. Could be anything.
 # Think of it as a key. Change it often to avoid any abuse.
-define('SELFPASTE_UPLOAD_SECRET','PLEASE CHANGE YOUR SECRET');
+# The description will be used in the log files
+define('SELFPASTE_UPLOAD_SECRET',
+       array(
+               'PLEASE CHANGE YOUR SECRET' => 'Your description for this secret 1',
+               'PLEASE CHANGE YOUR SECRET' => 'Your description for this secret'
+       )
+);
+# creation of a paste and which secret was used into logs/create.log file
+define('LOG_CREATION',true);
 # this is the default storage location. If you decide to move, then make sure
 # to move the included .htaccess with it to protect the direct access
 define('SELFPASTE_UPLOAD_DIR','pasties');
index 95f49002a537d519f510ef3158e3e9c939602295..ff0ae72405ae9f8b9abd1d202c2c19efd5724206 100644 (file)
@@ -29,9 +29,12 @@ if(!empty($_urlToParse)) {
     }
 }
 
+define('ERROR_LOG_FILE','./logs/error.log');
+define('CREATE_LOG','./logs/create.log');
+
 # error reporting
 ini_set('log_errors',true);
-ini_set('error_log','./logs/error.log');
+ini_set('error_log',ERROR_LOG_FILE);
 if(DEBUG === true) {
     ini_set('display_errors',true);
 }
@@ -55,7 +58,7 @@ if(isset($_GET['s']) && !empty($_GET['s'])) {
 $_create = false;
 if(isset($_POST['dl']) && !empty($_POST['dl'])
     && isset($_FILES['pasty']) && !empty($_FILES['pasty'])
-    && $_POST['dl'] === SELFPASTE_UPLOAD_SECRET) {
+    && isset(SELFPASTE_UPLOAD_SECRET[$_POST['dl']])) {
     $_create = true;
 }
 
@@ -99,6 +102,9 @@ elseif ($_create === true) {
         $_message = $_do['message'];
         if($_do['status'] === true) {
             $httpResponseCode = 200;
+            if(defined('LOG_CREATION') && LOG_CREATION === true) {
+                error_log(date("c")." ".$_message." ".SELFPASTE_UPLOAD_SECRET[$_POST['dl']]."\n",3,CREATE_LOG);
+            }
         }
     }
 
@@ -115,7 +121,7 @@ if(file_exists('view/'.$contentView.'.inc.php')) {
     require_once 'view/'.$contentView.'.inc.php';
 }
 else {
-    error_log('Content body file missing. '.var_export($_SERVER,true),3,'./logs/error.log');
+    error_log('Content body file missing. '.var_export($_SERVER,true),3,ERROR_LOG_FILE);
     http_response_code(400);
     die('Well, something went wrong...');
 }
\ No newline at end of file