From 9cfd4c2ada62b99235c57d87483341302e0f1b87 Mon Sep 17 00:00:00 2001 From: Dominik Pfennig <dominik@suma-ev.de> Date: Thu, 9 Jun 2016 11:06:49 +0200 Subject: [PATCH] =?UTF-8?q?Logs=20f=C3=BCr=20eine=20durchgef=C3=BChrte=20M?= =?UTF-8?q?etaGer-Suche=20eingebaut.=20Diese=20wird=20im=20Redis-System=20?= =?UTF-8?q?hinterlegt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/MetaGer.php | 45 ++++++++++++++++---- config/database.php | 6 +++ resources/views/layouts/resultPage.blade.php | 2 +- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/app/MetaGer.php b/app/MetaGer.php index 6efe28bb0..d660eb233 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -7,6 +7,7 @@ use App; use Storage; use Log; use Config; +use Redis; use App\lib\TextLanguageDetect\TextLanguageDetect; use App\lib\TextLanguageDetect\LanguageDetect\TextLanguageDetectException; use Illuminate\Pagination\LengthAwarePaginator; @@ -50,7 +51,7 @@ class MetaGer function __construct() { - $this->time = microtime(); + $this->starttime = microtime(true); define('CRLF', "\r\n"); define('BUFFER_LENGTH', 8192); if( file_exists(config_path() . "/blacklistDomains.txt") && file_exists(config_path() . "/blacklistUrl.txt") ) @@ -87,6 +88,9 @@ class MetaGer $viewResults[] = get_object_vars($result); } + # Wir müssen natürlich noch den Log für die durchgeführte Suche schreiben: + $this->createLogs(); + if( $this->fokus === "bilder" ) { switch ($this->out) @@ -141,6 +145,36 @@ class MetaGer } } + private function createLogs() + { + $redis = Redis::connection('redisLogs'); + if( $redis ) + { + $logEntry = ""; + $logEntry .= "[" . date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d"), date("Y"))) . "]"; + $logEntry .= " From=" . $this->ip; + $logEntry .= " pid=" . getmypid(); + $anonId= md5("MySeCrEtSeEdFoRmd5" + .$this->request->header('Accept') + .$this->request->header('Accept-Charset') + .$this->request->header('Accept-Encoding') + .$this->request->header('HTTP_LANGUAGE') + .$this->request->header('User-Agent') + .$this->request->header('Keep-Alive') + .$this->request->header('X-Forwarded-For')); + $logEntry .= " anonId=$anonId"; + $logEntry .= " ref=" . $this->request->header('Referer'); + $useragent = $this->request->header('User-Agent'); + $useragent = str_replace("(", " ", $useragent); + $useragent = str_replace(")", " ", $useragent); + $useragent = str_replace(" ", "", $useragent); + $logEntry .= " ua=" . $useragent; + $logEntry .= " iter= mm= time=" . round((microtime(true)-$this->starttime), 2) . " serv=" . $this->fokus . " which= hits= stringSearch= QuickTips= SSS= check="; + $logEntry .= " search=" . $this->eingabe; + $redis->rpush('logs.search', $logEntry); + } + } + public function removeInvalids () { $results = []; @@ -432,13 +466,8 @@ class MetaGer $this->q = $this->eingabe; # IP: - if( isset($_SERVER['HTTP_FROM']) ) - { - $this->ip = $_SERVER['HTTP_FROM']; - }else - { - $this->ip = "127.0.0.1"; - } + $this->ip = $request->ip(); + # Language: if( isset($_SERVER['HTTP_LANGUAGE']) ) { diff --git a/config/database.php b/config/database.php index 8451a62fb..076fc54e5 100755 --- a/config/database.php +++ b/config/database.php @@ -114,6 +114,12 @@ return [ 'port' => env('REDIS_PORT', 6379), 'database' => 0, ], + 'redisLogs' => [ + 'host' => env('REDIS_LOGS_HOST', 'localhost'), + 'password' => env('REDIS_LOGS_PASSWORD', null), + 'port' => env('REDIS_MAIN_PORT', 6379), + 'database' => 1, + ], ], diff --git a/resources/views/layouts/resultPage.blade.php b/resources/views/layouts/resultPage.blade.php index 75c0180f7..eb0d11dee 100644 --- a/resources/views/layouts/resultPage.blade.php +++ b/resources/views/layouts/resultPage.blade.php @@ -19,7 +19,7 @@ <body id="resultBody"> - @if( isset($header) ) + @if( !isset($suspendheader) ) @include('layouts.researchandtabs') @else <div class="tab-content container-fluid"> -- GitLab