Commit 9d22d6a6 authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

Updated the member key function to be saved as a cookie

parent e3a56af7
......@@ -2,7 +2,9 @@
namespace App\Http\Controllers;
use Cookie;
use Illuminate\Http\Request;
use LaravelLocalization;
class KeyController extends Controller
{
......@@ -11,7 +13,65 @@ class KeyController extends Controller
$redirUrl = $request->input('redirUrl', "");
return view('key')
->with('title', "Mitgliederschlüssel eingeben");
->with('title', trans('titles.key'));
}
public function setKey(Request $request)
{
$redirUrl = $request->input('redirUrl', "");
$key = $request->input('key', '');
if ($this->authorizeKey($key)) {
# Valid Key
$host = $request->header("X_Forwarded_Host", "");
if (empty($host)) {
$host = $request->header("Host", "");
}
Cookie::queue('key', $key, 525600, '/meta/', null, false, false);
return redirect($redirUrl);
} else {
return view('key')
->with('title', trans('titles.key'))
->with('keyValid', false);
}
}
public function removeKey(Request $request)
{
$redirUrl = $request->input('redirUrl', "");
Cookie::queue('key', '', 0, '/meta/', null, false, false);
$url = LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), action('KeyController@index', ['redirUrl' => $redirUrl]));
return redirect($url);
}
private function authorizeKey($key)
{
$postdata = http_build_query(array(
'dummy' => rand(),
));
$opts = array('http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata,
),
);
$context = stream_context_create($opts);
try {
$link = "https://key.metager3.de/" . urlencode($key) . "/request-permission/api-access";
$result = json_decode(file_get_contents($link, false, $context));
if ($result->{'api-access'} == true) {
return true;
} else {
return false;
}
} catch (\ErrorException $e) {
return false;
}
}
}
......@@ -35,6 +35,12 @@ class Kernel extends HttpKernel
'bindings',
],
'enableCookies' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
],
'session' => [
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
......
......@@ -12,6 +12,6 @@ class EncryptCookies extends BaseEncrypter
* @var array
*/
protected $except = [
//
'key',
];
}
......@@ -1029,7 +1029,15 @@ class MetaGer
$this->queryFilter = [];
$this->verificationId = $request->input('verification_id', null);
$this->verificationCount = intval($request->input('verification_count', '0'));
$this->apiKey = $request->input('key', '');
if (empty($this->apiKey)) {
$this->apiKey = \Cookie::get('key');
if (empty($this->apiKey)) {
$this->apiKey = "";
}
}
// Remove Inputs that are not used
$this->request = $request->replace($request->except(['verification_id', 'uid', 'verification_count']));
......
......@@ -2,8 +2,8 @@
namespace App\Providers;
use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
......@@ -41,6 +41,8 @@ class RouteServiceProvider extends ServiceProvider
$this->mapSessionRoutes();
$this->mapEnableCookieRoutes();
//
}
......@@ -86,6 +88,23 @@ class RouteServiceProvider extends ServiceProvider
*
* @return void
*/
protected function mapEnableCookieRoutes()
{
Route::group([
'middleware' => 'enableCookies',
'namespace' => $this->namespace,
], function ($router) {
require base_path('routes/cookie.php');
});
}
/**
* Define the "session" routes for the application.
*
* These routes can all set cookies.
*
* @return void
*/
protected function mapSessionRoutes()
{
Route::group([
......
<?php
return [
'head' => 'Datenschutz und Privatsphäre',
'head' => 'Datenschutz und Privatsphäre',
'general.1' => 'Datenschutz und Privatsphäre gehören für uns zu den wichtigsten Gütern im Internet. Sie sind absolut schützenswert und dürfen keinesfalls kommerziell genutzt werden. Im Folgenden eine kurze Auflistung unserer Vorgehensweise. Eine ausführliche Darstellung mit Hintergrund-Informationen, warum wir die einzige wirklich sichere Suchmaschine betreiben, finden Sie <a href="https://suma-ev.de/presse/Sicher-suchen-UND-finden-mit-MetaGer.html">in unserem Blog</a>.',
'general.3' => 'Nur Software, dessen Quellcode öffentlich zugänglich ist, kann von jedem überprüft werden. In allen anderen Fällen müssen User <em>glauben</em>, was Betreiber oder "Gütesiegel"-Verkäufer behaupten. MetaGer ist Freie Software unter der GNU-AGPLv3-Lizenz (siehe dazu die <a href="http://heise.de/-3295586" target="_blank" rel="noopener"> Nachricht im Heise-Ticker</a>). Der MetaGer-Quellcode steht Ihnen unter folgendem Link zur Verfügung: <a href="https://gitlab.metager3.de/open-source/MetaGer" target="_blank" rel="noopener">https://gitlab.metager3.de/open-source/MetaGer</a><br />Sie müssen uns nichts glauben: Sie können es selber kontrollieren!',
'policy.1' => 'Unsere Vorgehensweise/Policy:',
'policy.2' => 'Wir speichern weder Ihre IP-Adresse, noch den
'policy.1' => 'Unsere Vorgehensweise/Policy:',
'policy.2' => 'Wir speichern weder Ihre IP-Adresse, noch den
<a href="http://www.heise.de/security/meldung/Fingerprinting-Viele-Browser-sind-ohne-Cookies-identifizierbar-1982976.html" target="_blank" rel="noopener">"Fingerabdruck" Ihres Browsers</a> (Ausnahme: Kurzfristige Speicherung gegen Hacking- und Bot-Attacken).',
'policy.5' => 'Wir setzen keine Cookies oder benutzen Tracking-Pixel oder ähnliche Technologien, um unsere Nutzer zu "tracken" (tracken = Verfolgen der Bewegungen im Internet).',
'policy.6' => 'Die Datenübertragung von MetaGer erfolgt ausschlie&szlig;lich automatisch verschlüsselt über das https-Protokoll.',
'policy.7' => 'Wir bieten einen Zugang über das anonyme TOR-Netzwerk, den <a href="http://forum.suma-ev.de/viewtopic.php?f=3&amp;t=43&amp;sid=c994b628153235dfef098ba6fea3d60e" target="_blank" rel="noopener">MetaGer-TOR-hidden Service.</a>',
'policy.5' => 'Wir setzen keine Tracking-Cookies oder benutzen Tracking-Pixel oder ähnliche Technologien, um unsere Nutzer zu "tracken" (tracken = Verfolgen der Bewegungen im Internet).',
'policy.6' => 'Die Datenübertragung von MetaGer erfolgt ausschlie&szlig;lich automatisch verschlüsselt über das https-Protokoll.',
'policy.7' => 'Wir bieten einen Zugang über das anonyme TOR-Netzwerk, den <a href="http://forum.suma-ev.de/viewtopic.php?f=3&amp;t=43&amp;sid=c994b628153235dfef098ba6fea3d60e" target="_blank" rel="noopener">MetaGer-TOR-hidden Service.</a>',
'policy.9' => 'Da der Zugang über das TOR-Netzwerk vielen Nutzern kompliziert erscheint, manchmal auch langsam ist, haben wir einen weiteren Weg implementiert, die Ergebnis-Webseiten ebenfalls anonym erreichen zu können: durch Anklicken des Links "anonym öffnen". Dadurch sind Ihre persönlichen Daten beim Klick auf MetaGer-Ergebnisse und sogar bei allen Folge-Klicks danach geschützt.',
'policy.9' => 'Da der Zugang über das TOR-Netzwerk vielen Nutzern kompliziert erscheint, manchmal auch langsam ist, haben wir einen weiteren Weg implementiert, die Ergebnis-Webseiten ebenfalls anonym erreichen zu können: durch Anklicken des Links "anonym öffnen". Dadurch sind Ihre persönlichen Daten beim Klick auf MetaGer-Ergebnisse und sogar bei allen Folge-Klicks danach geschützt.',
'policy.10' => 'Wir machen möglichst wenig Werbung, kennzeichnen diese klar und eindeutig, und vertrauen für unsere Finanzierung auf unsere Nutzer, Ihre <a href="/spende/">Spenden</a> und Mitgliedsbeträge zum <a href="http://suma-ev.de/" target="_blank" rel="noopener">SUMA-EV</a>.',
'policy.13' => 'MetaGer wird von der deutschen gemeinnützigen Organisation <a href="http://suma-ev.de/" target="_blank" rel="noopener">SUMA-EV</a> in Zusammenarbeit mit der <a href="http://www.uni-hannover.de/" target="_blank" rel="noopener">Leibniz Universität Hannover</a> betrieben und weiterentwickelt.',
......@@ -24,5 +24,5 @@ return [
'policy.18' => 'Wir schützen nicht nur Ihre Daten, sondern auch die Umwelt: Unsere Server werden ausschließlich mit Ökostrom betrieben.',
'policy.19' => 'Nach den <a href="http://www.heise.de/newsticker/meldung/Bericht-US-Regierung-zapft-Kundendaten-von-Internet-Firmen-an-1884264.html" target="_blank" rel="noopener">Enthüllungen von Edward Snowden im Juni 2013</a> positionierten sich etliche Suchmaschinen mit der Selbstbeschreibung, dass Suchen bei ihnen sicher sei, weil die IP-Adressen der Nutzer nicht gespeichert würden. So ehrenwert und auch ehrlich gemeint diese Selbstbeschreibungen sein mögen - Fakt ist, dass viele dieser Suchmaschinen zumindest einen Teil ihrer Server in den USA hosten. Das gilt auch für diejenigen, die von manchen Datenschützern immer noch als "besonders empfehlenswert" gelobt und als Empfehlung verbreitet werden. Denn diese Suchmaschinen <a href="http://de.wikipedia.org/wiki/USA_PATRIOT_Act" target="_blank" rel="noopener">unterliegen nach dem Patriot Act und US-Recht dem vollen Zugriff der dortigen Behörden.</a> Sie können also gar keine geschützte Privatsphäre bieten (selbst dann nicht, wenn sie selber sich noch so sehr darum bemühen).',
'twitter' => 'Was andere über unser Privacy-Konzept auf Twitter sagen:',
'twitter' => 'Was andere über unser Privacy-Konzept auf Twitter sagen:',
];
This diff is collapsed.
This diff is collapsed.
<?php
return [
'h1' => "Schlüssel für Ihre werbefreie Suche",
'p1' => 'MetaGer bietet <a href=":url1">SUMA-EV Mitgliedern</a> und großzügigen <a href=":url2">Spendern</a> einen Schlüssel an, mit dem die Suchmaschine komplett werbefrei verwendet werden kann.',
'p2' => 'Auf dieser Seite können Sie Ihren Schlüssel (sofern bekannt) eingeben. Wir speichern diesen mit Hilfe eines Cookies auf Ihrem PC. Auf diese Weise sendet Ihr Browser den Schlüssel automatisch bei jeder durchgeführten Suche an uns, sodass wir die Werbung für Sie entfernen können.',
'p3' => 'Wenn Sie sich den Cookie anschauen steht dort drin "key=xxxx". Wir verwenden diesen dementsprechend nicht für Tracking-Zwecke. Er wird auch zu keinem Zeitpunkt in irgendeiner Form von uns gespeichert oder geloggt.',
'p4' => 'Wichtig: Um diese Funktion nutzen zu können, müssen Sie Cookies in Ihrem Browser zugelassen haben. Die Einstellung bleibt dann solange gespeichert, wie Ihr Browser Cookies speichert.',
'placeholder1' => 'Schlüssel eingeben...',
'removeKey' => 'aktuellen Schlüssel entfernen',
'invalidKey' => 'Der eingegebene Schlüssel ist ungültig',
'backLink' => 'Zurück zur letzten Seite',
];
<?php
return [
'index' => 'MetaGer - Mehr als eine Suchmaschine',
'impressum' => 'Impressum - MetaGer',
'about' => 'Über Uns - MetaGer',
'team' => 'Team - MetaGer',
'kontakt' => 'Kontakt - MetaGer',
'spende' => 'Spenden - MetaGer',
'datenschutz' => 'Datenschutz und Privatsphäre - MetaGer',
'hilfe' => 'Hilfe - MetaGer',
'widget' => 'MetaGer Widget',
'settings' => 'Einstellungen',
'websearch' => 'Websuche-Widget - MetaGer',
'sitesearch' => 'Sitesearch-Widget - MetaGer',
'beitritt' => 'SUMA-EV Beitrittsformular',
'faq' => 'FAQ - MetaGer',
'partnershops' => 'Partnershops - MetaGer',
'languages' => 'Übersetzungstool - MetaGer',
'index' => 'MetaGer - Mehr als eine Suchmaschine',
'impressum' => 'Impressum - MetaGer',
'about' => 'Über Uns - MetaGer',
'team' => 'Team - MetaGer',
'kontakt' => 'Kontakt - MetaGer',
'spende' => 'Spenden - MetaGer',
'datenschutz' => 'Datenschutz und Privatsphäre - MetaGer',
'hilfe' => 'Hilfe - MetaGer',
'widget' => 'MetaGer Widget',
'settings' => 'Einstellungen',
'websearch' => 'Websuche-Widget - MetaGer',
'sitesearch' => 'Sitesearch-Widget - MetaGer',
'beitritt' => 'SUMA-EV Beitrittsformular',
'faq' => 'FAQ - MetaGer',
'partnershops' => 'Partnershops - MetaGer',
'languages' => 'Übersetzungstool - MetaGer',
'languages.edit' => 'Sprachdateien bearbeiten - MetaGer',
'app' => 'Apps - MetaGer',
'faktencheck' => 'Fakten-Prüfung contra Fake-News',
'jugendschutz' => 'Jugendschutz',
'ad-info' => 'Werbung bei MetaGer',
'asso' => 'Assoziator - MetaGer',
'plugin' => 'Plugin - MetaGer',
'app' => 'Apps - MetaGer',
'faktencheck' => 'Fakten-Prüfung contra Fake-News',
'jugendschutz' => 'Jugendschutz',
'ad-info' => 'Werbung bei MetaGer',
'asso' => 'Assoziator - MetaGer',
'plugin' => 'Plugin - MetaGer',
'key' => 'Mitgliederschlüssel - MetaGer',
];
<?php
return [
"head" => "Privacy",
"head" => "Privacy",
"general.1" => "For us, privacy is one of the most important goods on the internet. It needs to be preserved and is not to be used for profit. The following is a small summary of our approach.",
"general.3" => "Only free software with open source code is under control of any user. In\r\nall other cases the users have to <em>believe</em> what the maintainers tell about\r\nwhat is going on inside. If maintainers claim that they have strictly\r\nimplemented privacy and data protecion, users have to believe them.\r\nMetaGer is free software under GNU-AGPLv3 Licence. It is available to\r\nanyone at <a href=\"https://gitlab.metager3.de/open-source/MetaGer\">https://gitlab.metager3.de/open-source/MetaGer</a>.",
"policy.1" => "Our Approach/Policy:",
"policy.2" => "Neither do we save your IP, nor the\r\n<a href=\"https://en.wikipedia.org/wiki/Canvas_fingerprinting\" target=\"_blank\" rel=\"noopener\">\"fingerprint\" of your Browser</a> (For the purpose of securing our servers against Hacking- and Bot-Attacks, we need to store these information for a short period of time. It will be then automatically deleted afterwards).",
"policy.5" => "We do not set cookies or use tracking-pixels or similar technology, to \"track\" our users (tracking = following a users digital movement on the internet).",
"policy.6" => "Data transmission is only done encrypted via the https protocol.",
"policy.7" => "We offer access via the anonymous TOR network, the <a href=\"http://forum.suma-ev.de/viewtopic.php?f=3&t=1029&sid=eae857f3102365f76636508ca030dc56\" target=\"_blank\" rel=\"noopener\">MetaGer hidden service</a>.",
"policy.9" => "Since access via the TOR-network seems complicated to many users and often slow, we offer a proxy server, to visit the result pages anonymously: By clicking on the link \"open anonymously\" your personal information will be protected on this click and even on all following clicks.",
"policy.1" => "Our Approach/Policy:",
"policy.2" => "Neither do we save your IP, nor the\r\n<a href=\"https://en.wikipedia.org/wiki/Canvas_fingerprinting\" target=\"_blank\" rel=\"noopener\">\"fingerprint\" of your Browser</a> (For the purpose of securing our servers against Hacking- and Bot-Attacks, we need to store these information for a short period of time. It will be then automatically deleted afterwards).",
"policy.5" => "We do not set tracking-cookies or use tracking-pixels or similar technology, to \"track\" our users (tracking = following a users digital movement on the internet).",
"policy.6" => "Data transmission is only done encrypted via the https protocol.",
"policy.7" => "We offer access via the anonymous TOR network, the <a href=\"http://forum.suma-ev.de/viewtopic.php?f=3&t=1029&sid=eae857f3102365f76636508ca030dc56\" target=\"_blank\" rel=\"noopener\">MetaGer hidden service</a>.",
"policy.9" => "Since access via the TOR-network seems complicated to many users and often slow, we offer a proxy server, to visit the result pages anonymously: By clicking on the link \"open anonymously\" your personal information will be protected on this click and even on all following clicks.",
"policy.10" => "We show as few advertisements as possible, clearly marking them, and financially rely on our users, their <a href=\"/en/spende/\">Donations</a> and membership fees for <a href=\"http://suma-ev.de/en/\" target=\"_blank\" rel=\"noopener\">SUMA-EV</a>.",
"policy.13" => "Metager is operated and developed by the charitable german organisation <a href=\"http://suma-ev.de/en/\" target=\"_blank\" rel=\"noopener\">SUMA-EV</a> in cooperation with the <a href=\"http://www.uni-hannover.de/\" target=\"_blank\" rel=\"noopener\">Leibniz University Hanover</a>.",
"policy.17" => "Our Servers are located exclusively in germany. Therefore they are governed by the german privacy law, which is among the strictest world wide.",
"policy.18" => "We don't even protect data but also the environment: we only use green electricity for our servers.",
"policy.19" => "Since the <a href=\"http://www.heise.de/newsticker/meldung/Bericht-US-Regierung-zapft-Kundendaten-von-Internet-Firmen-an-1884264.html\" target=\"_blank\" rel=\"noopener\">revealments of Edward Snowden in June 2013</a> numerous search engines claim that they protect their users' privacy, because the users' IP adresses are not saved. No matter how honorable these descriptions are - many search engines at least partially host their servers in the USA. Because these search engines are, <a href=\"http://de.wikipedia.org/wiki/USA_PATRIOT_Act\" target=\"_blank\" rel=\"noopener\">as per the Patriot Act and US law</a>, unprotected against the access of local authorities. Thus they cannot provide protection of personal data (even if they really try to).",
"twitter" => "What others say about our privacy-concept on twitter:",
"twitter" => "What others say about our privacy-concept on twitter:",
];
<?php
return [
"achtung" => "Warning! Structure and functionality of our website are subject to constant development and changes. We try to update our help pages as quickly as possible, but can not prevent temporary mistakes.",
"title" => "MetaGer - FAQ",
"faq.1.h" => "What is MetaGer?",
"faq.1.b" => "MetaGer is primarily a meta search engine. Besides that MetaGer maintains a number of specialized crawlers and indexers of its own.",
'faq.1.b2' => 'Additionally: meta search engines provide a wider coverage and a better overview, because none of the searchengines knows the whole internet (Read more: <a href="https://de.wikipedia.org/wiki/Metasuchmaschine" target="_blank" rel="noopener">Wikipedia</a>. You see its origin attached to every single result. Where can I find more search engines? Try here: <a href="http://www.klug-suchen.de/" target="_blank" rel="noopener">klug-suchen.de</a>',
"faq.2.1.h" => "How does MetaGer query other search engines while preserving user anonymity?",
"faq.2.1.b" => "Since MetaGer is a meta-search engine, every search request you send to us will be stripped of information which could lead to your identification before being sent to e.g. Yahoo. Yahoo will send their response to us which we will then forward to you. This is how we handle every search request sent to us, no matter which one of the offered search engines you use. By doing this we commit ourselves to guarantee your privacy and do not save any personal data. It is possible to verify this, since the source code of MetaGer has been released under a free license <a href=\"https://gitlab.metager3.de/open-source/MetaGer\">(https://gitlab.metager3.de/open-source/MetaGer)</a>.",
"faq.4.h" => "Why don't you metacrawl search engine XY anymore?",
"faq.4.b" => "If we do not query a search engine which we did query before, then this has technical or \\\"political\\\" reasons.",
"achtung" => "Warning! Structure and functionality of our website are subject to constant development and changes. We try to update our help pages as quickly as possible, but can not prevent temporary mistakes.",
"title" => "MetaGer - FAQ",
"faq.1.h" => "What is MetaGer?",
"faq.1.b" => "MetaGer is primarily a meta search engine. Besides that MetaGer maintains a number of specialized crawlers and indexers of its own.",
'faq.1.b2' => 'Additionally: meta search engines provide a wider coverage and a better overview, because none of the searchengines knows the whole internet (Read more: <a href="https://de.wikipedia.org/wiki/Metasuchmaschine" target="_blank" rel="noopener">Wikipedia</a>. You see its origin attached to every single result. Where can I find more search engines? Try here: <a href="http://www.klug-suchen.de/" target="_blank" rel="noopener">klug-suchen.de</a>',
"faq.2.1.h" => "How does MetaGer query other search engines while preserving user anonymity?",
"faq.2.1.b" => "Since MetaGer is a meta-search engine, every search request you send to us will be stripped of information which could lead to your identification before being sent to e.g. Yahoo. Yahoo will send their response to us which we will then forward to you. This is how we handle every search request sent to us, no matter which one of the offered search engines you use. By doing this we commit ourselves to guarantee your privacy and do not save any personal data. It is possible to verify this, since the source code of MetaGer has been released under a free license <a href=\"https://gitlab.metager3.de/open-source/MetaGer\">(https://gitlab.metager3.de/open-source/MetaGer)</a>.",
"faq.4.h" => "Why don't you metacrawl search engine XY anymore?",
"faq.4.b" => "If we do not query a search engine which we did query before, then this has technical or \\\"political\\\" reasons.",
"faq.6.h" => "Inappropriate Content",
"faq.6.b.1" => "I found results with illegal content.",
"faq.6.b.2" => "If some content (found by MetaGer) seems to be illegal, please email us to <a href=\\\"mailto:jugendschutz@metager.de\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">jugendschutz@metager.de</a>.",
"faq.7.h" => "Is it possible to integrate MetaGer into my own website?",
"faq.7.b" => "No problem! We have a <a href=\\\"/en/widget\\\" target=_blank>widget</a> that you can use free of charge.",
"faq.8.h" => "How can I register my homepage on MetaGer?",
"faq.8.b" => "You can't. MetaGer is a metasearch engine. If you want to propagate your website, you have to register at all the other search engines for that purpose.",
"faq.9.h" => "How does the MetaGer ranking work?",
"faq.9.b" => "You can check <a href=\\\"https://gitlab.metager3.de/open-source/MetaGer\\\" target=_blank>our source code</a> to find out.",
"faq.10.h" => "I can't use MetaGer with my browser X and operating system Y. I need help!",
"faq.10.b" => "Please try first to install the newest available plugin. Just use the link below the searchfield, it has an automatic browserdetection. If it is still not working, please let us know: <a href=\\\"mailto:office@suma-ev.de\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">office@suma-ev.de</a>",
"faq.11.h" => "Where did you get all these nice sayings?",
"faq.11.b" => "We find some in the web but we've got the most of them from Alexander Hammer. We don't provide them in english....",
"faq.12.h" => "How can I delete the search suggestions?",
"faq.12.b" => "This is provided by your webbrowser. Try to customize the history settings.",
"faq.13.h" => "What is about the privacy and how long / what do you store?",
"faq.13.b.1" => "The protection of private data is our general principle. Everything we do is subordinated to this principle. Therefore we do not work with Cookies, Session IDs or anything else. More exact information: <a href=\\\"/datenschutz/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">https://metager.de/en/datenschutz/</a>",
"faq.13.b.2" => "Besides: we do not store and we do not even know your IP-address (For the purpose of securing our servers against Hacking- and Bot-Attacks, we need to store these information for a short period of time. It will be then automatically deleted afterwards). We use serversided anonymization for the communication with the prompted search services. We think that searchengines work well without storing IP-addresses. What do we do additionally?",
"faq.13.b.3" => "You may wish to hide your IP-address generally. We provide a free proxyservice. Click \\\"Help\\\" for more exact information: ",
"faq.13.b.4" => "Please use the Tor-network or the MetaGer Tor-branch for advanced anonymization. Please click \\\"Tools\\\" for further information.",
"faq.13.b.5" => "Needless to say: we use the https protocol at any time. All your queries are safe between your personal computer and the MetaGer servers.",
"faq.14.h" => "How can one match data to indviduals ?",
"faq.14.b.1" => "1.) This could be done by using cookies. For example a cookie can be set as a part of making an account. You give your data, a cookie is made out of it and is stored on your PC. Next time using the same service it will know you very well. This kind of data is managed by the webbrowser. It is easy to find and erase all cookies. You should do this routinely.",
"faq.14.b.2" => "2.) The webproviders manage internet connections by assigning IP-addresses to individuals. This is ruled by law and is different in all countries.",
"faq.14.b.3" => "3.) The webbrowser sends a heap of data to a website, like the user agent, exact version numbers, the work invironment, the operating system and so on. Maybe there is a matching of data to individuals possible, too.",
"faq.15.h" => "How was MetaGer started, what is the story behind MetaGer?",
"faq.15.b" => "It was started in 1996. Take a look at the historically documented origin story here: <a href=\\\"http://blog.suma-ev.de/node/207\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">http://blog.suma-ev.de/node/207</a>.",
"faq.16.h" => "Is it allowed to hyperlink MetaGer ?",
"faq.16.b" => "Yes, sure. You can do this as you like. This refers to all pages of our site. But: we would like it more if you would use our widget (for the improvement of your own website). See \\\"Tools\\\".",
"faq.18.h" => "Why are the !bangs not opended directly?",
"faq.18.b" => "The !bang -\\\"redirections\\\" are part of our quicktips and they need an additional click. We had to decide between easy-to-use and keep-control-of-data. We find it necessary to show that the links are third party property (DuckDuckGo). So there is a two way protection: first we do not transfer your searchwords but only the !bang to DuckDuckGo. On the other hand the user confirms the !bang-target explicit. We don't have the ressources to maintain all this !bangs, we are sorry.",
"faq.21.h" => "Why is MetaGer presenting the umlauts in a wrong way?",
"faq.21.b" => "A wrong presentation of umlauts is commonly caused by an outdated Plugin. If so: please deinstall the old one an then click \\\"Add MetaGer-Plugin\\\" on <a href=\\\"https://metager.de\\\" target=\\\"_blank\\\">MetaGer-Startpage</a>. Perhaps, there is another reason: you didn't use the correct startpage. Always use <a href=\\\"https://metager.de\\\" target=\\\"_blank\\\">MetaGer.de</a>.\\r\\nIf all this doesn't work, please contact us: <a href=\\\"mailto:office@suma-ev.de\\\">office@suma-ev.de</a>"
];
\ No newline at end of file
"faq.6.h" => "Inappropriate Content",
"faq.6.b.1" => "I found results with illegal content.",
"faq.6.b.2" => "If some content (found by MetaGer) seems to be illegal, please email us to <a href=\\\"mailto:jugendschutz@metager.de\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">jugendschutz@metager.de</a>.",
"faq.7.h" => "Is it possible to integrate MetaGer into my own website?",
"faq.7.b" => "No problem! We have a <a href=\\\"/en/widget\\\" target=_blank>widget</a> that you can use free of charge.",
"faq.8.h" => "How can I register my homepage on MetaGer?",
"faq.8.b" => "You can't. MetaGer is a metasearch engine. If you want to propagate your website, you have to register at all the other search engines for that purpose.",
"faq.9.h" => "How does the MetaGer ranking work?",
"faq.9.b" => "You can check <a href=\\\"https://gitlab.metager3.de/open-source/MetaGer\\\" target=_blank>our source code</a> to find out.",
"faq.10.h" => "I can't use MetaGer with my browser X and operating system Y. I need help!",
"faq.10.b" => "Please try first to install the newest available plugin. Just use the link below the searchfield, it has an automatic browserdetection. If it is still not working, please let us know: <a href=\\\"mailto:office@suma-ev.de\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">office@suma-ev.de</a>",
"faq.11.h" => "Where did you get all these nice sayings?",
"faq.11.b" => "We find some in the web but we've got the most of them from Alexander Hammer. We don't provide them in english....",
"faq.12.h" => "How can I delete the search suggestions?",
"faq.12.b" => "This is provided by your webbrowser. Try to customize the history settings.",
"faq.13.h" => "What is about the privacy and how long / what do you store?",
"faq.13.b.1" => "The protection of private data is our general principle. Everything we do is subordinated to this principle. Therefore we do not work with tracking-ookies, Session IDs or anything else. More exact information: <a href=\\\"/datenschutz/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">https://metager.de/en/datenschutz/</a>",
"faq.13.b.2" => "Besides: we do not store and we do not even know your IP-address (For the purpose of securing our servers against Hacking- and Bot-Attacks, we need to store these information for a short period of time. It will be then automatically deleted afterwards). We use serversided anonymization for the communication with the prompted search services. We think that searchengines work well without storing IP-addresses. What do we do additionally?",
"faq.13.b.3" => "You may wish to hide your IP-address generally. We provide a free proxyservice. Click \\\"Help\\\" for more exact information: ",
"faq.13.b.4" => "Please use the Tor-network or the MetaGer Tor-branch for advanced anonymization. Please click \\\"Tools\\\" for further information.",
"faq.13.b.5" => "Needless to say: we use the https protocol at any time. All your queries are safe between your personal computer and the MetaGer servers.",
"faq.14.h" => "How can one match data to indviduals ?",
"faq.14.b.1" => "1.) This could be done by using cookies. For example a cookie can be set as a part of making an account. You give your data, a cookie is made out of it and is stored on your PC. Next time using the same service it will know you very well. This kind of data is managed by the webbrowser. It is easy to find and erase all cookies. You should do this routinely.",
"faq.14.b.2" => "2.) The webproviders manage internet connections by assigning IP-addresses to individuals. This is ruled by law and is different in all countries.",
"faq.14.b.3" => "3.) The webbrowser sends a heap of data to a website, like the user agent, exact version numbers, the work invironment, the operating system and so on. Maybe there is a matching of data to individuals possible, too.",
"faq.15.h" => "How was MetaGer started, what is the story behind MetaGer?",
"faq.15.b" => "It was started in 1996. Take a look at the historically documented origin story here: <a href=\\\"http://blog.suma-ev.de/node/207\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">http://blog.suma-ev.de/node/207</a>.",
"faq.16.h" => "Is it allowed to hyperlink MetaGer ?",
"faq.16.b" => "Yes, sure. You can do this as you like. This refers to all pages of our site. But: we would like it more if you would use our widget (for the improvement of your own website). See \\\"Tools\\\".",
"faq.18.h" => "Why are the !bangs not opended directly?",
"faq.18.b" => "The !bang -\\\"redirections\\\" are part of our quicktips and they need an additional click. We had to decide between easy-to-use and keep-control-of-data. We find it necessary to show that the links are third party property (DuckDuckGo). So there is a two way protection: first we do not transfer your searchwords but only the !bang to DuckDuckGo. On the other hand the user confirms the !bang-target explicit. We don't have the ressources to maintain all this !bangs, we are sorry.",
"faq.21.h" => "Why is MetaGer presenting the umlauts in a wrong way?",
"faq.21.b" => "A wrong presentation of umlauts is commonly caused by an outdated Plugin. If so: please deinstall the old one an then click \\\"Add MetaGer-Plugin\\\" on <a href=\\\"https://metager.de\\\" target=\\\"_blank\\\">MetaGer-Startpage</a>. Perhaps, there is another reason: you didn't use the correct startpage. Always use <a href=\\\"https://metager.de\\\" target=\\\"_blank\\\">MetaGer.de</a>.\\r\\nIf all this doesn't work, please contact us: <a href=\\\"mailto:office@suma-ev.de\\\">office@suma-ev.de</a>",
];
This diff is collapsed.
<?php
return [
'h1' => "Key for your ad-free search",
'p1' => 'MetaGer offers <a href=":url1">SUMA-EV members</a> and generous <a href=":url2">donors</a> a key that allows the search engine to be used completely ad-free.',
'p2' => 'On this page you can enter your key (if known). We save it with the help of a cookie on your PC. This way, your browser automatically sends the key to us every time you search, so we can remove the ad for you.',
'p3' => 'If you look at the cookie there is "key = xxxx" in there. We do not use it for tracking purposes. It is also never stored or logged by us in any way.',
'p4' => 'Important: In order to use this function, you must have allowed cookies in your browser. The setting will remain saved as long as your browser saves cookies.',
'placeholder1' => 'Enter key ...',
'removeKey' => 'remove current key',
'invalidKey' => 'The entered key is invalid',
'backLink' => 'Back to the last page',
];
<?php
return [
"index" => "MetaGer: Privacy Protected Search & Find",
"impressum" => "Site Notice - MetaGer",
"about" => "About Us - MetaGer",
"team" => "Team - MetaGer",
"kontakt" => "Contact - MetaGer",
"spende" => "Donation - MetaGer",
"datenschutz" => "Privacy - MetaGer",
"hilfe" => "Help - MetaGer",
"widget" => "MetaGer Widget",
"settings" => "Settings",
"websearch" => "Websearch-Widget - MetaGer",
"sitesearch" => "Sitesearch-Widget - MetaGer",
"beitritt" => "Application Formular - MetaGer",
"faq" => "FAQ - MetaGer",
"partnershops" => "Partnershops - MetaGer",
"languages" => "translation tool - MetaGer",
"index" => "MetaGer: Privacy Protected Search & Find",
"impressum" => "Site Notice - MetaGer",
"about" => "About Us - MetaGer",
"team" => "Team - MetaGer",
"kontakt" => "Contact - MetaGer",
"spende" => "Donation - MetaGer",
"datenschutz" => "Privacy - MetaGer",
"hilfe" => "Help - MetaGer",
"widget" => "MetaGer Widget",
"settings" => "Settings",
"websearch" => "Websearch-Widget - MetaGer",
"sitesearch" => "Sitesearch-Widget - MetaGer",
"beitritt" => "Application Formular - MetaGer",
"faq" => "FAQ - MetaGer",
"partnershops" => "Partnershops - MetaGer",
"languages" => "translation tool - MetaGer",
"languages.edit" => "Edit language files - MetaGer",
"app" => "Apps - MetaGer",
"faktencheck" => "Fact-checks versus fake news",
'jugendschutz' => 'Youth protection',
'ad-info' => 'MetaGer Advertisements',
'asso' => 'Associator - MetaGer',
'plugin' => 'Plugin - MetaGer',
"app" => "Apps - MetaGer",
"faktencheck" => "Fact-checks versus fake news",
'jugendschutz' => 'Youth protection',
'ad-info' => 'MetaGer Advertisements',
'asso' => 'Associator - MetaGer',
'plugin' => 'Plugin - MetaGer',
'key' => 'Ad-Free-Key - MetaGer',
];
<?php
return [
"head" => "Protección de datos y privacidad",
"general.1" => "Protección de datos y privacidad son para nosotros los bienes más importantes del internet. Son dignos de ser protegidos y no se debería usarlos comercialmente. Aquí una corta lista de nuestro modo de proceder. Una extensa presentación con información trasfondo, porque nosotros mantenemos el único buscador realmente seguro, encuentra en <a href=\"https://suma-ev.de/presse/Sicher-suchen-UND-finden-mit-MetaGer.html\">aquí.</a> ",
"general.3" => "Solo software que esta libre y el código fuente disponible, puede ser revisado por cualquier persona. En los demás casos el usuario tiene que CREER, lo que dice la compañía operadora o el vendedor del sello de calidad. MetaGer es software libre bajo licencia GNU-AGPLv3 (vea la noticia relacionada en alemán en el Heise Ticker <a href=\"http://heise.de/-3295586\" target=\"_blank\" rel=\"noopener\">http://heise.de/-3295586</a>). Usted puede descargar el código fuente de MetaGer aquí: <a href=\"https://gitlab.metager3.de/open-source/MetaGer\" target=\"_blank\" rel=\"noopener\">https://gitlab.metager3.de/open-source/MetaGer</a><br /> No necesita creernos nada: USTED mismo lo puede controlar!",
"policy.1" => "Nuestro procedimiento / política:",
"policy.2" => "No guardamos suya dirección IP, ni suyo \"Browser-Fingerprint\" (<a href=\"http://www.heise.de/security/meldung/Fingerprinting-Viele-Browser-sind-ohne-Cookies-identifizierbar-1982976.html\" target=\"_blank\" rel=\"noopener\">)Excepción : a corto plazo con ocasión de bot/hacking.",
"policy.5" => "No usamos Cookies o un Tracking-Pixel o tecnologías similares, para perseguir a nuestros usuarios (Tracking = Seguir los movimientos en el internet).",
"policy.6" => "La transmisión de datos en MetaGer se hace únicamente cifrado con el protocolo https.",
"policy.7" => "Ofrecemos un acceso sobre la red anónimo TOR, el <a href=\"http://forum.suma-ev.de/viewtopic.php?f=3&t=43&sid=c994b628153235dfef098ba6fea3d60e\" target=\"_blank\" rel=\"noopener\">MetaGer-TOR-hidden Service.</a>",
"policy.9" => "Porque el acceso sobre la red TOR les parece a muchos usuarios complicado, aveces esta lento, nosotros hemos implementado un camino alterno, con lo cual puede llegar hasta las páginas de destino guardando su anonimato : Haciendo click en el link \"abrir anónimo\". Mediante esto sus datos personales están protegidos al hacer click sobre resultados en MetaGer y incluso en todos los clicks que siguen.",
"policy.10" => "Hacemos muy poca publicidad, la marcamos claramente, y confiamos para nuestra financiación en nuestros usuarios, sus <a href=\"/spende/\">donaciones</a> y membresías para el <a href=\"http://suma-ev.de/\" target=\"_blank\" rel=\"noopener\">SUMA-EV</a>. ",
"policy.13" => "La organización sin fines de lucro <a href=\"http://suma-ev.de/\" target=\"_blank\" rel=\"noopener\">SUMA-EV</a> en cooperación con la <a href=\"http://www.uni-hannover.de/\" target=\"_blank\" rel=\"noopener\">Leibniz Universität Hannover</a> mantienen y desarrollan MetaGer. ",
"policy.17" => "Nuestros servidores están exclusivamente en Alemania. Estan bajo de la ley de protección de datos alemán, lo cual es considerado uno de los más estrictos del mundo.",
"policy.18" => "No solamente protegemeos suyos datos, pero el ambiente. Llevamos nuestros servidores con electricidad verde.",
"policy.19" => "Después de las revelaciones de Edward Snowden en Junio 2013 se han posicionado varios buscadores con la autoproclamación que sus búsquedas estuvieron seguras porque no guardan los IP de los usuarios. Suponiendo honestos intensiones en estos autodescripciones, es un hecho que muchos de estos buscadores hostean al menos una parte de sus servidores en EEUU. Esto incluye algunos que aun están recomendados por protectores de datos. Estos buscadores están<a href=\"http://de.wikipedia.org/wiki/USA_PATRIOT_Act\" target=\"_blank\" rel=\"noopener\"> bajo de la ley Patriot Act y bajo derecho de EEUU y las autoridades tienen acceso completo a la data</a> y por ende no puede garantizar la privacidad de sus usuarios (a pesar de los esfuerzos de ellos mismos).",
"twitter" => "Lo que otros dicen sobre nuestro concepto de privacidad en Twitter:"
];
\ No newline at end of file
"head" => "Protección de datos y privacidad",
"general.1" => "Protección de datos y privacidad son para nosotros los bienes más importantes del internet. Son dignos de ser protegidos y no se debería usarlos comercialmente. Aquí una corta lista de nuestro modo de proceder. Una extensa presentación con información trasfondo, porque nosotros mantenemos el único buscador realmente seguro, encuentra en <a href=\"https://suma-ev.de/presse/Sicher-suchen-UND-finden-mit-MetaGer.html\">aquí.</a> ",
"general.3" => "Solo software que esta libre y el código fuente disponible, puede ser revisado por cualquier persona. En los demás casos el usuario tiene que CREER, lo que dice la compañía operadora o el vendedor del sello de calidad. MetaGer es software libre bajo licencia GNU-AGPLv3 (vea la noticia relacionada en alemán en el Heise Ticker <a href=\"http://heise.de/-3295586\" target=\"_blank\" rel=\"noopener\">http://heise.de/-3295586</a>). Usted puede descargar el código fuente de MetaGer aquí: <a href=\"https://gitlab.metager3.de/open-source/MetaGer\" target=\"_blank\" rel=\"noopener\">https://gitlab.metager3.de/open-source/MetaGer</a><br /> No necesita creernos nada: USTED mismo lo puede controlar!",
"policy.1" => "Nuestro procedimiento / política:",
"policy.2" => "No guardamos suya dirección IP, ni suyo \"Browser-Fingerprint\" (<a href=\"http://www.heise.de/security/meldung/Fingerprinting-Viele-Browser-sind-ohne-Cookies-identifizierbar-1982976.html\" target=\"_blank\" rel=\"noopener\">)Excepción : a corto plazo con ocasión de bot/hacking.",
"policy.5" => "No usamos Tracking-Cookies o un Tracking-Pixel o tecnologías similares, para perseguir a nuestros usuarios (Tracking = Seguir los movimientos en el internet).",
"policy.6" => "La transmisión de datos en MetaGer se hace únicamente cifrado con el protocolo https.",
"policy.7" => "Ofrecemos un acceso sobre la red anónimo TOR, el <a href=\"http://forum.suma-ev.de/viewtopic.php?f=3&t=43&sid=c994b628153235dfef098ba6fea3d60e\" target=\"_blank\" rel=\"noopener\">MetaGer-TOR-hidden Service.</a>",
"policy.9" => "Porque el acceso sobre la red TOR les parece a muchos usuarios complicado, aveces esta lento, nosotros hemos implementado un camino alterno, con lo cual puede llegar hasta las páginas de destino guardando su anonimato : Haciendo click en el link \"abrir anónimo\". Mediante esto sus datos personales están protegidos al hacer click sobre resultados en MetaGer y incluso en todos los clicks que siguen.",
"policy.10" => "Hacemos muy poca publicidad, la marcamos claramente, y confiamos para nuestra financiación en nuestros usuarios, sus <a href=\"/spende/\">donaciones</a> y membresías para el <a href=\"http://suma-ev.de/\" target=\"_blank\" rel=\"noopener\">SUMA-EV</a>. ",
"policy.13" => "La organización sin fines de lucro <a href=\"http://suma-ev.de/\" target=\"_blank\" rel=\"noopener\">SUMA-EV</a> en cooperación con la <a href=\"http://www.uni-hannover.de/\" target=\"_blank\" rel=\"noopener\">Leibniz Universität Hannover</a> mantienen y desarrollan MetaGer. ",
"policy.17" => "Nuestros servidores están exclusivamente en Alemania. Estan bajo de la ley de protección de datos alemán, lo cual es considerado uno de los más estrictos del mundo.",
"policy.18" => "No solamente protegemeos suyos datos, pero el ambiente. Llevamos nuestros servidores con electricidad verde.",
"policy.19" => "Después de las revelaciones de Edward Snowden en Junio 2013 se han posicionado varios buscadores con la autoproclamación que sus búsquedas estuvieron seguras porque no guardan los IP de los usuarios. Suponiendo honestos intensiones en estos autodescripciones, es un hecho que muchos de estos buscadores hostean al menos una parte de sus servidores en EEUU. Esto incluye algunos que aun están recomendados por protectores de datos. Estos buscadores están<a href=\"http://de.wikipedia.org/wiki/USA_PATRIOT_Act\" target=\"_blank\" rel=\"noopener\"> bajo de la ley Patriot Act y bajo derecho de EEUU y las autoridades tienen acceso completo a la data</a> y por ende no puede garantizar la privacidad de sus usuarios (a pesar de los esfuerzos de ellos mismos).",
"twitter" => "Lo que otros dicen sobre nuestro concepto de privacidad en Twitter:",
];
......@@ -4,8 +4,22 @@
#key-site {
.section {
.card-medium;
margin: 8px 0;
.error {
color: red;
text-align: center;
font-weight: bold;
}
}
form {
#form-wrapper {
margin-top: 8px;
form {
text-align: center;
}
}
#back-link {
text-align: center;
margin-top: 16px;
}
}
\ No newline at end of file
......@@ -29,6 +29,9 @@
> a {
padding: 8px 16px;
color: #777;
&.authorized {
color:green;
}
}
}
.search-input {
......
......@@ -6,17 +6,32 @@
<link type="text/css" rel="stylesheet" href="{{ mix('/css/key.css') }}" />
<div id="key-site">
<div class="section">
<h1>Schlüssel für Ihre Werbefreie Suche</h1>
<p>MetaGer bietet seinen <a href="{{LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/beitritt')}}">Mitgliedern</a> und großzügigen <a href="{{LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/spende')}}">Spendern</a> einen Schlüssel an, mit dem die Suchmaschine komplett werbefrei verwendet werden kann.</p>
<p>Auf dieser Seite können Sie Ihren Schlüssel (sofern bekannt) eingeben. Wir speichern diesen mit Hilfe eines Cookies auf Ihrem PC. Auf diese Weise sendet Ihr Browser den Schlüssel automatisch bei jeder durchgeführten Suche an uns, sodass wir die Werbung für Sie entfernen können. Der Schlüssel wird natürlich zu keinem Zeitpunkt so verwendet, dass wir die durchgeführten Suchen Ihnen persönlich zuordnen könnten. Er wird von uns auch nicht gespeichert, oder geloggt.</p>
<p>Wichtig: Um diese Funktion nutzen zu können, müssen Sie Cookies in Ihrem Browser zugelassen haben. Die Einstellung bleibt dann solange gespeichert, wie Ihr Browser Cookies speichert.</p>
<h1>{{ trans('key.h1')}}</h1>
<p>{!! trans('key.p1', ['url1' => LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/beitritt'), 'url2' => LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/spende')])!!}</p>
<p>{{ trans('key.p2') }}</p>
<p>{{ trans('key.p3') }}</p>
<p>{{ trans('key.p4') }}</p>
</div>
<div class="section">
<form method="post">
<input type="hidden" name="redirUrl" value="{{ Request::input('redirUrl', '') }}" />
<input type="text" name="key" placeholder="Schlüssel eingeben...">
<button type="submit" class="btn btn-success">OK</button>
</form>
<div id="form-wrapper">
<form method="post">
<input type="hidden" name="redirUrl" value="{{ Request::input('redirUrl', '') }}" />
<input type="text" name="key" value="{{Cookie::get('key')}}" placeholder="@lang('key.placeholder1')" autofocus>
<button type="submit" class="btn btn-success">OK</button>
</form>
@if(Cookie::get('key') !== NULL)
<form method="post" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), action('KeyController@removeKey', ['redirUrl' => url()->full()])) }}">
<input type="hidden" name="redirUrl" value="{{ Request::input('redirUrl', '') }}" />
<button type="submit" class="btn btn-error">@lang('key.removeKey')</button>
</form>
@endif
</div>
@if(isset($keyValid) && $keyValid === false)
<p class="error">@lang('key.invalidKey')</p>
@endif
@if(Request::input('redirUrl', '') !== '')
<div id="back-link"><a href="{{Request::input('redirUrl')}}">@lang('key.backLink')</a></div>
@endif
</div>
</div>
@endsection
......@@ -4,7 +4,7 @@
<div class="searchbar {{$class ?? ''}}">
<div class="search-input-submit">
<div id="search-key">
<a id="key-link" href="{{ action('KeyController@index', ['redirUrl' => url()->full() ]) }}" data-tooltip="{{ trans ('index.key.tooltip') }}">
<a id="key-link" @if(isset($apiAuthorized) && $apiAuthorized)class="authorized" @else class="unauthorized"@endif href="{{ action('KeyController@index', ['redirUrl' => url()->full() ]) }}" data-tooltip="{{ trans ('index.key.tooltip') }}">
<i class="fa fa-key" aria-hidden="true"></i>
</a>
</div>
......