]> jfr.im git - uguu.git/commitdiff
add cleanup for ratelimit table v.1.8.2
authorGo Johansson (neku) <redacted>
Fri, 10 Nov 2023 20:00:10 +0000 (21:00 +0100)
committerGo Johansson (neku) <redacted>
Fri, 10 Nov 2023 20:00:10 +0000 (21:00 +0100)
package.json
src/Classes/expireChecker.php
src/config.json
src/static/php/checkExpire.php

index 5f88455a3ed6669a8ca6f7daf246abe9a340b5a5..4c53a25a3eed89f662a646d08f15931fac2e34c0 100755 (executable)
@@ -1,6 +1,6 @@
 {
   "name": "uguu",
-  "version": "1.8.1",
+  "version": "1.8.2",
   "description": "Uguu is a simple lightweight temporary file host with support for drop, paste, click and API uploading.",
   "homepage": "https://uguu.se",
   "repository": {
index d13662a70e65d08af97db0d5f3cbca538b5a491b..a66e2fd1e5f09cb8f86a033c6e0df410e0384dce 100755 (executable)
@@ -37,6 +37,15 @@ class expireChecker
         }
     }
 
+    public function cleanRateLimitDB(): void {
+        $query = match ($this->dbType) {
+            'pgsql' => 'DELETE FROM ratelimit WHERE time < EXTRACT(epoch from NOW() - INTERVAL \'24 HOURS\')',
+            default => 'DELETE FROM ratelimit WHERE time <= strftime(\'%s\', datetime(\'now\', \'-24 HOURS\'));'
+        };
+        $q = $this->DB->prepare($query);
+        $q->execute();
+        $q->closeCursor();
+    }
     public function deleteFiles(array $filenames): void {
         foreach ($filenames as $filename) {
             unlink($this->CONFIG['FILES_ROOT'] . $filename);
index 1566a87889d314451f97aa093cbf0835b827fc25..255e9f408f4a1667b5db004958cf66127126d45e 100755 (executable)
@@ -1,6 +1,6 @@
 {
   "dest": "dist",
-  "pkgVersion": "1.8.1",
+  "pkgVersion": "1.8.2",
   "pages": [
     "index.ejs",
     "faq.ejs",
index 9544d2a77f0432625dba5c9ccb97f3610fdbbaef..819995787c24744630f0b557752e52a8fe345a21 100755 (executable)
@@ -24,7 +24,7 @@ use Pomf\Uguu\Classes\expireChecker;
 
 $check = new expireChecker();
 $dbResult = $check->checkDB();
-
+$check->cleanRateLimitDB();
 if(empty($dbResult['ids'])){
     echo "No file(s) expired, nothing to do.";
 } else {