Commit 2f0f918d authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

Merge branch 'development' of https://gitlab.metager3.de/open-source/MetaGer into development

parents 9443ff66 44e677f6
<?php
namespace App\Http\Controllers;
use Cookie;
use Illuminate\Http\Request;
use LaravelLocalization;
class KeyController extends Controller
{
public function index(Request $request)
{
$redirUrl = $request->input('redirUrl', "");
return view('key')
->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([
......
......@@ -11,7 +11,7 @@ return [
'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.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>',
......
......@@ -37,7 +37,7 @@ return [
'faq.12.b' => 'Die Suchvorschläge liefert Ihnen Ihr Webbrowser, sie müssen die Suchvorschläge also auch in ihrem Browser ausschalten. Meist geht das über die Chronik. Unser Service hat damit jedoch nichts zu tun, wir können ihnen also nicht weiter helfen.',
'faq.13.h' => 'Wie haltet ihr es eigentlich mit dem Datenschutz, wie lange wird bei euch was gespeichert?',
'faq.13.b.1' => 'Der Schutz persönlicher Daten ist uns so wichtig, dass wir alles, was dem zuwiderlaufen könnte, gar nicht erst machen: es gibt bei uns keine Cookies, Session-IDs oder ähnliches. Genaueres erfahren Sie unter <a href="/datenschutz/" target="_blank" rel="noopener">Datenschutz</a>.',
'faq.13.b.1' => 'Der Schutz persönlicher Daten ist uns so wichtig, dass wir alles, was dem zuwiderlaufen könnte, gar nicht erst machen: es gibt bei uns keine Tracking-Cookies, Session-IDs oder ähnliches. Genaueres erfahren Sie unter <a href="/datenschutz/" target="_blank" rel="noopener">Datenschutz</a>.',
'faq.13.b.2' => 'Was es bei jeder Suchmaschine gibt (und wogegen auch wir nichts tun können), das sind die bei den Abfragen mitgesendeten IP-Adressen. Auch dies können personenbezogene Daten sein. Darum speichern wir auch diese Adressen NICHT (Ausnahme: Kurzfristige Speicherung gegen Hacking- und Bot-Attacken) - und zwar überhaupt nicht, auch nicht tageweise, und schon gar nicht für Jahre. Die IP-Adressen werden bereits während Ihre Suche noch läuft, anonymisiert und in dieser anonymen Form an die von MetaGer abgefragten Suchdienste weitergegeben. Nach unseren Erfahrungen kommt der Betrieb von Suchmaschinen sehr gut OHNE Speicherung von IP-Adressen aus. Was tun wir zusätzlich?',
'faq.13.b.3' => 'Wenn Sie generell (unabhängig von MetaGer) ohne Speicherung Ihrer IP-Adresse im Internet surfen wollen, dann können Sie am einfachsten einen der freien und werbefinanzierten Proxies benutzen, einen kommerziellen anmieten, oder den für Sie kostenlosen MetaGer-Proxy verwenden. Genauere Informationen dazu finden Sie auf unserer Hilfeseite.',
'faq.13.b.4' => 'Wenn Sie Ihre Anonymität noch weiter absichern wollen, dann können Sie Teilnehmer am Tor-Netzwerk werden. Genauere Informationen dazu finden Sie unter der Überschrift "Dienste".',
......
......@@ -8,8 +8,8 @@ return [
"searchfield.info" => 'Das Suchfeld besteht aus mehreren Teilen:',
"searchfield.memberkey" => 'Dem Schlüsselsymbol (nur für Vereinsmitglieder): Hier können die Mitglieder des SUMA-EV Ihren Schlüssel eingeben, um die werbefreie Suche nutzen zu können. Sie wollen das auch? Werden Sie Mitglied: <a href = "/beitritt/">Beitrittsantrag</a>',
"searchfield.slot" => 'Dem Suchfeld: Geben Sie hier Ihren Suchbegriff ein.',
"searchfield.search" => 'Der Lupe: Starten Sie die Suche.' ,
"result.top" => 'Auf der Ergebnisseite: Klicken / drücken Sie auf das Filterzeichen, um alle Filterfunktionen benutzen zu können.' ,
"searchfield.search" => 'Der Lupe: Starten Sie die Suche.',
"result.top" => 'Auf der Ergebnisseite: Klicken / drücken Sie auf das Filterzeichen, um alle Filterfunktionen benutzen zu können.',
"stopworte.title" => "Stoppworte",
"stopworte.1" => "Wenn Sie unter den MetaGer-Suchergebnissen solche ausschließen wollen, in denen bestimmte Worte (Ausschlussworte / Stopworte) vorkommen, dann erreichen Sie das, indem Sie diese Worte mit einem Minus versehen.",
......@@ -75,7 +75,7 @@ return [
"datenschutz.faktencheck.body.1" => '<a href="http://www.password-online.de/?wysija-page=1&controller=email&action=view&email_id=280" target="_blanK" rel="noopener">Ausführliche Anleitung und Beschreibung</a> von <a href="http://www.ude.de/" target="_blanK" rel="noopener">Albrecht Ude</a>',
"datenschutz.faktencheck.body.2" => '<a href="/hilfe/faktencheck">Fakten-Checkliste</a>',
"datenschutz.1" => "Cookies, Session-IDs und IP-Adressen",
"datenschutz.1" => "Tracking-Cookies, Session-IDs und IP-Adressen",
"datenschutz.2" => "Nichts von alldem wird hier bei MetaGer verwendet, gespeichert, aufgehoben oder sonst irgendwie verarbeitet (Ausnahme: Kurzfristige Speicherung gegen Hacking- und Bot-Attacken). Weil wir diese Thematik für extrem wichtig halten, haben wir auch Möglichkeiten geschaffen, die Ihnen helfen können, hier ein Höchstmaß an Sicherheit zu erreichen: den MetaGer-TOR-Hidden-Service und unseren anonymisierenden Proxyserver.",
"datenschutz.3" => "Mehr Informationen finden Sie weiter unten. Die Funktionen sind unter \"Dienste\" in der Navigationsleiste erreichbar.",
......
......@@ -30,7 +30,7 @@ return [
'slogan.title' => 'Besser&nbsp;suchen, schneller&nbsp;finden',
'slogan.1' => 'Datenschutz & Privatsphäre: Bei uns einfach und selbstverständlich. Wir arbeiten nicht gewinnorientiert, wir sind ein gemeinnütziger Verein: <a href="/beitritt">Werden Sie Mitglied</a> oder <a href="/spende">spenden Sie</a>!',
'slogan.2' => 'Mit MetaGer bewahren Sie einen neutralen Blick auf’s Web!',
'preredesign' => '<a href="https://klassik.metager.org">Rückblick auf die letzte MetaGer Version</a>',
'preredesign' => '<a href="https://klassik.metager.org">Rückblick auf die vorige MetaGer Version</a>',
'sponsors.head' => 'Sponsoren',
'sponsors.woxikon' => 'SEO Agentur',
......
<?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',
];
......@@ -24,4 +24,5 @@ return [
'ad-info' => 'Werbung bei MetaGer',
'asso' => 'Assoziator - MetaGer',
'plugin' => 'Plugin - MetaGer',
'key' => 'Mitgliederschlüssel - MetaGer',
];
......@@ -6,7 +6,7 @@ return [
"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.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.",
......
......@@ -27,7 +27,7 @@ return [
"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.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.",
......@@ -43,5 +43,5 @@ return [
"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>"
"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>",
];
......@@ -7,8 +7,8 @@ return [
"searchfield.info" => 'The search field contains:',
"searchfield.memberkey" => 'The key symbol (only SUMA-EV members): Members can enter a private key to use the "free-of-advertising" metager search. If you want this too, just become a member: <a href = "https://metager.org/beitritt">Membership form</a>',
"searchfield.slot" => 'The search field: Enter your words here.',
"searchfield.search" => 'The magnifier: Start your search.' ,
"result.top" => 'On the results page: Click / Touch the filter symbol to activate all filter options.' ,
"searchfield.search" => 'The magnifier: Start your search.',
"result.top" => 'On the results page: Click / Touch the filter symbol to activate all filter options.',
"stopworte.title" => "Exclude single words",
"stopworte.1" => "If you want to exclude words within the search result, you have to put a \"-\" in front of that word",
......@@ -74,7 +74,7 @@ return [
"datenschutz.faktencheck.heading" => "Fact-Check versus fake news:",
"datenschutz.faktencheck.body.1" => "<a href=\"http://www.password-online.de/?wysija-page=1&controller=email&action=view&email_id=280\" target=\"_blanK\" rel=\"noopener\">Ausführliche Anleitung und Beschreibung</a> von <a href=\"http://www.ude.de/\" target=\"_blanK\" rel=\"noopener\">Albrecht Ude</a>",
"datenschutz.faktencheck.body.2" => "<a href=\"en/hilfe/faktencheck\">Checklist</a>",
"datenschutz.1" => "Cookies, Session-IDs, IP addresses",
"datenschutz.1" => "Tracking-Cookies, Session-IDs, IP addresses",
"datenschutz.2" => "We don&apos;t store or work with any personal information (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 provide further privacy security services as follows:",
"datenschutz.3" => "For more details see below. Click / touch the burger menu to use the tools.",
......
......@@ -30,7 +30,7 @@ return [
'slogan.title' => 'MetaGer: Privacy protected Search and Find',
'slogan.1' => 'We provide privacy & data protection and we are a non profit NGO. <a href="/beitritt">Become a member</a> oder <a href="/spende">donate</a>! Our source code is open: <a href="https://gitlab.metager3.de/open-source/MetaGer">gitlab.metager3.de</a>',
'slogan.2' => 'You keep a neutral view on the web by using MetaGer',
'preredesign' => '<a href="https://klassik.metager.org/en">Flashback to the last MetaGer version</a>',
'preredesign' => '<a href="https://klassik.metager.org/en">Flashback to the previous MetaGer version</a>',
"sponsors.head" => "Sponsors",
'sponsors.woxikon' => 'Tagesgeld jetzt!',
......
<?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',
];
......@@ -24,4 +24,5 @@ return [
'ad-info' => 'MetaGer Advertisements',
'asso' => 'Associator - MetaGer',
'plugin' => 'Plugin - MetaGer',
'key' => 'Ad-Free-Key - MetaGer',
];
......@@ -6,7 +6,7 @@ return [
"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.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.",
......@@ -15,5 +15,5 @@ return [
"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:"
"twitter" => "Lo que otros dicen sobre nuestro concepto de privacidad en Twitter:",
];
// Variables
@import "../variables.less";
@import "../general/cards.less";
#key-site {
.section {
.card-medium;
margin: 8px 0;
.error {
color: red;
text-align: center;
font-weight: bold;
}
}
#form-wrapper {
margin-top: 8px;
form {
text-align: center;
}
}
#back-link {
text-align: center;
margin-top: 16px;
}
}
\ No newline at end of file
......@@ -23,55 +23,15 @@
display: flex;
max-width: 600px;
#search-key {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
z-index: 1;
#input-key {
margin: 0;
padding: 0px;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
height: 40px;
width: 0px;
outline-color: green;
-webkit-transition: width 0.5s, padding 0.5s, outline-color 0s, border-color 0s, -webkit-box-shadow 0s;
transition: width 0.5s, padding 0.5s, outline-color 0s, border-color 0s, -webkit-box-shadow 0s;
transition: width 0.5s, padding 0.5s, outline-color 0s, border-color 0s, box-shadow 0s;
transition: width 0.5s, padding 0.5s, outline-color 0s, border-color 0s, box-shadow 0s, -webkit-box-shadow 0s;
&:focus {
width: 200px;
padding: 6px 10px 6px 10px;
outline-color: @metager-orange;
-webkit-box-shadow: 0px 0px 2px 2px rgba(255, 128, 0, 1);
box-shadow: 0px 0px 2px 2px rgba(255, 128, 0, 1);
border-color: rgba(255, 128, 0, 1);
border-radius: 4px;
+#key-label {
visibility: hidden;
width: 0px;
}
}
}
#key-label {
cursor: pointer;
height: 40px;
width: 40px;
margin: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-transition: width 0s, visibility 0s;
transition: width 0s, visibility 0s;
-webkit-transition-delay: 0.3s;
transition-delay: 0.3s;
align-items: center;
> a {
padding: 8px 16px;
color: #777;
&.authorized {
color:green;
}
}
}
.search-input {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment