From 150b2561290a9745c96bacb3ad7f3751cf319fc1 Mon Sep 17 00:00:00 2001
From: Davide Aprea <davide@suma-ev.de>
Date: Wed, 17 Feb 2021 11:23:15 +0100
Subject: [PATCH] add associator parameter for protective middleware

---
 app/Http/Middleware/BrowserVerification.php |  9 ++++++---
 app/Http/Middleware/HumanVerification.php   | 12 ++++++++----
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/app/Http/Middleware/BrowserVerification.php b/app/Http/Middleware/BrowserVerification.php
index ecd9b76a2..ec66b472a 100644
--- a/app/Http/Middleware/BrowserVerification.php
+++ b/app/Http/Middleware/BrowserVerification.php
@@ -17,7 +17,7 @@ class BrowserVerification
      * @param  \Closure  $next
      * @return mixed
      */
-    public function handle($request, Closure $next)
+    public function handle($request, Closure $next, $isAsso = false)
     {
 
         $bvEnabled = config("metager.metager.browserverification_enabled");
@@ -42,8 +42,11 @@ class BrowserVerification
         }
         header('X-Accel-Buffering: no');
 
-        if (($request->filled("loadMore") && Cache::has($request->input("loadMore"))) || app('App\Models\Key')->getStatus()) {
-            return $next($request);
+        //use parameter for middleware to skip this when using associator
+        if(!$isAsso){
+            if (($request->filled("loadMore") && Cache::has($request->input("loadMore"))) || app('App\Models\Key')->getStatus()) {
+                return $next($request);
+            }
         }
 
         ini_set('zlib.output_compression', 'Off');
diff --git a/app/Http/Middleware/HumanVerification.php b/app/Http/Middleware/HumanVerification.php
index d38133150..5c3e88c00 100644
--- a/app/Http/Middleware/HumanVerification.php
+++ b/app/Http/Middleware/HumanVerification.php
@@ -17,7 +17,7 @@ class HumanVerification
      * @param  \Closure  $next
      * @return mixed
      */
-    public function handle($request, Closure $next)
+    public function handle($request, Closure $next, $isAsso = false)
     {
         if ($request->filled("loadMore") && Cache::has($request->input("loadMore"))) {
             return $next($request);
@@ -46,9 +46,13 @@ class HumanVerification
              * If someone that uses a bot finds this out we
              * might have to change it at some point.
              */
-            if (!env('BOT_PROTECTION', false) || app('App\Models\Key')->getStatus()) {
-                $update = false;
-                return $next($request);
+
+            //use parameter for middleware to skip this when using associator
+            if(!$isAsso){
+                if (!env('BOT_PROTECTION', false) || app('App\Models\Key')->getStatus()) {
+                    $update = false;
+                    return $next($request);
+                }
             }
 
             # Get all Users of this IP
-- 
GitLab