Müssen verhindern, dass Bots meinen Webserver töten

9

Ich habe EXTREME Bot-Probleme auf einigen meiner Websites in meinem Hosting-Konto. Die Bots nutzen über 98% meiner CPU-Ressourcen und 99% meiner Bandbreite für mein gesamtes Hosting-Konto. Diese Bots generieren mehr als 1 GB Datenverkehr pro Stunde für meine Websites. Der tatsächliche menschliche Datenverkehr für alle diese Websites beträgt weniger als 100 MB / Monat .

Ich habe sowohl die robots.txt- als auch die .htaccess-Datei eingehend untersucht, um diese Bots zu blockieren, aber alle Methoden sind fehlgeschlagen.

Ich habe auch Code in die robots.txt-Dateien eingefügt, um den Zugriff auf die Skriptverzeichnisse zu blockieren, aber diese Bots (Google, MS Bing und Yahoo) ignorieren die Regeln und führen die Skripte trotzdem aus.

Ich möchte die Google-, MS Bing- und Yahoo-Bots nicht vollständig blockieren, aber ich möchte die Crawling-Rate dort begrenzen. Das Hinzufügen einer Crawl-Delay-Anweisung in der robots.txt-Datei verlangsamt die Bots nicht. Mein aktueller robots.txt- und .htacces-Code für alle Websites ist unten angegeben.

Ich habe sowohl Microsoft- als auch Google-Webmaster-Tools eingerichtet, um die Crawling-Rate auf das absolute Minimum zu verlangsamen, aber sie treffen diese Websites immer noch mit einer Rate von 10 Treffern / Sekunde.

Jedes Mal, wenn ich eine Datei hochlade, die einen Fehler verursacht, fällt der gesamte VPS-Webserver innerhalb von Sekunden aus, sodass ich aufgrund des Ansturms der Treffer dieser Bots nicht einmal auf die Site zugreifen kann, um das Problem zu beheben.

Was kann ich tun, um den Datenverkehr auf meinen Websites zu stoppen?

Ich habe in den letzten Monaten mehrmals versucht, mein Webhosting-Unternehmen (site5.com) zu diesem Problem zu befragen, und sie können mir bei diesem Problem nicht helfen.

Was ich wirklich brauche, ist zu verhindern, dass die Bots das Skript rss2html.php ausführen. Ich habe sowohl Sitzungen als auch Cookies ausprobiert und beide sind fehlgeschlagen.

robots.txt

User-agent: Mediapartners-Google
Disallow: 
User-agent: Googlebot
Disallow: 
User-agent: Adsbot-Google
Disallow: 
User-agent: Googlebot-Image
Disallow: 
User-agent: Googlebot-Mobile
Disallow: 
User-agent: MSNBot
Disallow: 
User-agent: bingbot
Disallow: 
User-agent: Slurp
Disallow: 
User-Agent: Yahoo! Slurp
Disallow: 
# Directories
User-agent: *
Disallow: /
Disallow: /cgi-bin/
Disallow: /ads/
Disallow: /assets/
Disallow: /cgi-bin/
Disallow: /phone/
Disallow: /scripts/
# Files
Disallow: /ads/random_ads.php
Disallow: /scripts/rss2html.php
Disallow: /scripts/search_terms.php
Disallow: /scripts/template.html
Disallow: /scripts/template_mobile.html

.htaccess

ErrorDocument 400 http://english-1329329990.spampoison.com
ErrorDocument 401 http://english-1329329990.spampoison.com
ErrorDocument 403 http://english-1329329990.spampoison.com
ErrorDocument 404 /index.php
SetEnvIfNoCase User-Agent "^Yandex*" bad_bot
SetEnvIfNoCase User-Agent "^baidu*" bad_bot
Order Deny,Allow
Deny from env=bad_bot
RewriteEngine on
RewriteCond %{HTTP_user_agent} bot\* [OR]
RewriteCond %{HTTP_user_agent} \*bot
RewriteRule ^.*$ http://english-1329329990.spampoison.com [R,L]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
# Don't show directory listings for directories that do not contain an index file (index.php, default.asp etc.)
Options -Indexes
<Files http://english-1329329990.spampoison.com>
order allow,deny
allow from all
</Files>
deny from 108.
deny from 123.
deny from 180.
deny from 100.43.83.132

UPDATE ZUR ANZEIGE DES HINZUGEFÜGTEN BOT-CHECK-CODES DES BENUTZERAGENTEN

<?php
function botcheck(){
 $spiders = array(
   array('AdsBot-Google','google.com'),
   array('Googlebot','google.com'),
   array('Googlebot-Image','google.com'),
   array('Googlebot-Mobile','google.com'),
   array('Mediapartners','google.com'),
   array('Mediapartners-Google','google.com'),
   array('msnbot','search.msn.com'),
   array('bingbot','bing.com'),
   array('Slurp','help.yahoo.com'),
   array('Yahoo! Slurp','help.yahoo.com')
 );
 $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
 foreach($spiders as $bot) {
   if(preg_match("/$bot[0]/i",$useragent)){
     $ipaddress = $_SERVER['REMOTE_ADDR']; 
     $hostname = gethostbyaddr($ipaddress);
     $iphostname = gethostbyname($hostname);
     if (preg_match("/$bot[1]/i",$hostname) && $ipaddress == $iphostname){return true;}
   }
 }
}
if(botcheck() == false) {
  // User Login - Read Cookie values
     $username = $_COOKIE['username'];
     $password = $_COOKIE['password'];
     $radio_1 = $_COOKIE['radio_1'];
     $radio_2 = $_COOKIE['radio_2'];
     if (($username == 'm3s36G6S9v' && $password == 'S4er5h8QN2') || ($radio_1 == '2' && $radio_2 == '5')) {
     } else {
       $selected_username = $_POST['username'];
       $selected_password = $_POST['password'];
       $selected_radio_1 = $_POST['group1'];
       $selected_radio_2 = $_POST['group2'];
       if (($selected_username == 'm3s36G6S9v' && $selected_password == 'S4er5h8QN2') || ($selected_radio_1 == '2' && $selected_radio_2 == '5')) {
         setcookie("username", $selected_username, time()+3600, "/");
         setcookie("password", $selected_password, time()+3600, "/");
         setcookie("radio_1", $selected_radio_1, time()+3600, "/");
         setcookie("radio_2", $selected_radio_2, time()+3600, "/");
       } else {
        header("Location: login.html");
       }
     }
}
?>

Ich habe außerdem Folgendes oben im Skript rss2html.php hinzugefügt

// Checks to see if this script was called by the main site pages, (i.e. index.php or mobile.php) and if not, then sends to main page
   session_start();  
   if(isset($_SESSION['views'])){$_SESSION['views'] = $_SESSION['views']+ 1;} else {$_SESSION['views'] = 1;}
   if($_SESSION['views'] > 1) {header("Location: http://website.com/index.php");}
Sammy
quelle
Wann hast du deine aktualisiert robots.txt? Es kann einige Zeit dauern, bis die Roboter die aktualisierte Version gelesen haben.
Ilanco
Vor ein paar Tagen. Was ich wirklich brauche, ist zu verhindern, dass die Bots das Skript rss2html.php ausführen. Ich habe sowohl Sitzungen als auch Cookies ausprobiert und beide sind fehlgeschlagen.
Wie wird rss2html.phpIhre Website verwendet? über PHP gehören, Weiterleitungen, Ajax ....?
cHao
Die rss2html.php-Dateien werden über einen Befehl file_get_contents () aufgerufen
file_get_contents...? Scheint ziemlich seltsam. Die Datei befindet sich auf einem anderen Server oder so?
CHao

Antworten:

3

Wenn rss2html.phpes nicht direkt vom Client verwendet wird (dh wenn PHP es immer verwendet und nicht als Link oder so), vergessen Sie, Bots zu blockieren. Alles, was Sie wirklich tun müssen, ist eine Konstante oder etwas auf der Hauptseite zu definieren, dann includedas andere Skript. Überprüfen Sie im anderen Skript, ob die Konstante definiert ist, und geben Sie einen 403-Fehler oder eine leere Seite oder was auch immer aus, wenn sie nicht definiert ist.

Damit dies funktioniert, müssen Sie includestatt verwenden file_get_contents, da letztere entweder nur die Datei einlesen (wenn Sie einen lokalen Pfad verwenden) oder in einem ganz anderen Prozess ausführen (wenn Sie ' eine URL verwenden). Aber es ist die Methode, die Sachen wie Joomla! wird verwendet, um zu verhindern, dass ein Skript direkt aufgenommen wird. Verwenden Sie einen Dateipfad anstelle einer URL, damit der PHP-Code nicht bereits analysiert wird, bevor Sie versuchen, ihn auszuführen.

Noch besser wäre es, rss2html.phpunter dem Dokumentstamm herauszukommen, aber einige Hosts machen dies schwierig. Ob dies eine Option ist, hängt vom Setup Ihres Servers / Hosts ab.

cHao
quelle
1
Chao, danke. Derzeit schreibe ich meinen Code neu, um stattdessen file_get_contents zu konvertieren.
Sammy
4

Sie können Ihr Skript so einstellen, dass basierend auf der von den Bots bereitgestellten Benutzeragentenzeichenfolge ein 404-Fehler ausgegeben wird. Sie erhalten schnell den Hinweis und lassen Sie in Ruhe.

if(isset($_SERVER['HTTP_USER_AGENT'])){
   $agent = $_SERVER['HTTP_USER_AGENT'];
}

if(preg_match('/^Googlebot/i',$agent)){
   http_response_code(301);
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: http://www.google.com/");
   exit;
}

Durchsuchen Sie Ihre Protokolle und lehnen Sie Bingbot usw. auf ähnliche Weise ab - dies stoppt die Anfragen nicht, spart jedoch möglicherweise Bandbreite - geben Sie Googlebot einen Vorgeschmack auf seine eigene Medizin - Mwhahahahaha!

Aktualisiert

Wenn Sie sich Ihren Code ansehen, denke ich, dass Ihr Problem hier ist:

if (preg_match("/$bot[1]/i",$hostname) && $ipaddress == $iphostname)

Wenn es sich um böswillige Bots handelt, können sie von überall her kommen. Nehmen Sie diese $ipaddressKlausel heraus und werfen Sie eine 301- oder 404-Antwort auf sie.

Direkt an der Seite der Box denken

  1. Googlebot akzeptiert niemals Cookies und kann diese daher nicht speichern. Wenn Sie Cookies für alle Benutzer benötigen, wird der Bot wahrscheinlich nicht auf Ihre Seite zugreifen können.
  2. Googlebot versteht Formulare - oder - Javascript nicht. Sie können also Ihre Links dynamisch generieren oder die Nutzer auf eine Schaltfläche klicken lassen, um zu Ihrem Code zu gelangen (mit einem geeigneten Token im Anhang).

    <a href="#" onclick="document.location='rss2html.php?validated=29e0-27fa12-fca4-cae3';">Rss2html.php</a>

    • rss2html.php? validated = 29e0-27fa12-fca4-cae3 - human
    • rss2html.php - bot
web_bod
quelle
1
Nicht so schnell, wie Sie vielleicht denken. Ich habe monatelang gesehen, dass Bots dieselbe nicht vorhandene Seite getroffen haben, gelegentlich sogar Jahre nachdem die Seite gelöscht wurde. Kommt darauf an, wie gut sich der Bot benimmt und was er will.
CHao
Für menschliche Besucher funktioniert es so, dass die Datei index.php das Skript rss2html.php aufruft. Die Bots vermeiden das Skript index.php und führen das Skript rss2html.php direkt aus. Wie kann ich diese Datei rss2html.php schützen, wenn nicht über das Skript index.php darauf zugegriffen wurde?
Versuchen Sie, rss2html.php in etwas anderes umzubenennen und Ihre index.php zu aktualisieren, um auf einen neuen Namen zu verweisen.
BluesRockAddict
Ich habe versucht, die Datei umzubenennen, aber sie schlägt nach einigen Tagen fehl. Wie kann ich den von mir verwendeten Code zu diesem Thread hinzufügen? Ich möchte Ihnen zeigen, was ich versucht habe.
1
ok - ich kenne einen Trick, den du ziehen kannst :) - platziere den Skriptcode rss2html.php außerhalb deiner Website (wird die Antwort aktualisieren)
2

PHP Limit / Block Website Anfragen für Spinnen / Bots / Clients etc.

Hier habe ich eine PHP-Funktion geschrieben, die unerwünschte Anfragen blockieren kann, um Ihren Website-Verkehr zu reduzieren. Gut für Spinnen, Bots und nervige Kunden.

CLIENT / Bots Blocker

DEMO: http://szczepan.info/9-webdesign/php/1-php-limit-block-website-requests-for-spiders-bots-clients-etc.html

CODE:

/* Function which can Block unwanted Requests
 * @return array of error messages
 */
function requestBlocker()
{
        /*
        Version 1.0 11 Jan 2013
        Author: Szczepan K
        http://www.szczepan.info
        me[@] szczepan [dot] info
        ###Description###
        A PHP function which can Block unwanted Requests to reduce your Website-Traffic.
        God for Spiders, Bots and annoying Clients.

        */

        # Before using this function you must 
        # create & set this directory as writeable!!!!
        $dir = 'requestBlocker/';

        $rules   = array(
                #You can add multiple Rules in a array like this one here
                #Notice that large "sec definitions" (like 60*60*60) will blow up your client File
                array(
                        //if >5 requests in 5 Seconds then Block client 15 Seconds
                        'requests' => 5, //5 requests
                        'sek' => 5, //5 requests in 5 Seconds
                        'blockTime' => 15 // Block client 15 Seconds
                ),
                array(
                        //if >10 requests in 30 Seconds then Block client 20 Seconds
                        'requests' => 10, //10 requests
                        'sek' => 30, //10 requests in 30 Seconds
                        'blockTime' => 20 // Block client 20 Seconds
                ),
                array(
                        //if >200 requests in 1 Hour then Block client 10 Minutes
                        'requests' => 200, //200 requests
                        'sek' => 60 * 60, //200 requests in 1 Hour
                        'blockTime' => 60 * 10 // Block client 10 Minutes
                )
        );
        $time    = time();
        $blockIt = array();
        $user    = array();

        #Set Unique Name for each Client-File 
        $user[] = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'IP_unknown';
        $user[] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
        $user[] = strtolower(gethostbyaddr($user[0]));

        # Notice that I use files because bots do not accept Sessions
        $botFile = $dir . substr($user[0], 0, 8) . '_' . substr(md5(join('', $user)), 0, 5) . '.txt';


        if (file_exists($botFile)) {
                $file   = file_get_contents($botFile);
                $client = unserialize($file);

        } else {
                $client                = array();
                $client['time'][$time] = 0;
        }

        # Set/Unset Blocktime for blocked Clients
        if (isset($client['block'])) {
                foreach ($client['block'] as $ruleNr => $timestampPast) {
                        $elapsed = $time - $timestampPast;
                        if (($elapsed ) > $rules[$ruleNr]['blockTime']) {
                                unset($client['block'][$ruleNr]);
                                continue;
                        }
                        $blockIt[] = 'Block active for Rule: ' . $ruleNr . ' - unlock in ' . ($elapsed - $rules[$ruleNr]['blockTime']) . ' Sec.';
                }
                if (!empty($blockIt)) {
                        return $blockIt;
                }
        }

        # log/count each access
        if (!isset($client['time'][$time])) {
                $client['time'][$time] = 1;
        } else {
                $client['time'][$time]++;

        }

        #check the Rules for Client
        $min = array(
                0
        );
        foreach ($rules as $ruleNr => $v) {
                $i            = 0;
                $tr           = false;
                $sum[$ruleNr] = 0;
                $requests     = $v['requests'];
                $sek          = $v['sek'];
                foreach ($client['time'] as $timestampPast => $count) {
                        if (($time - $timestampPast) < $sek) {
                                $sum[$ruleNr] += $count;
                                if ($tr == false) {
                                        #register non-use Timestamps for File 
                                        $min[] = $i;
                                        unset($min[0]);
                                        $tr = true;
                                }
                        }
                        $i++;
                }

                if ($sum[$ruleNr] > $requests) {
                        $blockIt[]                = 'Limit : ' . $ruleNr . '=' . $requests . ' requests in ' . $sek . ' seconds!';
                        $client['block'][$ruleNr] = $time;
                }
        }
        $min = min($min) - 1;
        #drop non-use Timestamps in File 
        foreach ($client['time'] as $k => $v) {
                if (!($min <= $i)) {
                        unset($client['time'][$k]);
                }
        }
        $file = file_put_contents($botFile, serialize($client));


        return $blockIt;

}


if ($t = requestBlocker()) {
        echo 'dont pass here!';
        print_R($t);
} else {
        echo "go on!";
}
dazzafact
quelle
1

Es ist wahrscheinlich, dass Ihre Website von gefälschten Google-Bots indiziert wird. Sie können versuchen, einen Scheck hinzuzufügen und 404 für alle gefälschten Google Bot-Anfragen bereitzustellen.

In diesem Artikel wird erläutert, wie Sie Googlebot überprüfen: http://googlewebmastercentral.blogspot.com/2006/09/how-to-verify-googlebot.html

Sie können Ihre Aufzeichnungen auch anhand bekannter gefälschter Bots überprüfen: http://stopmalvertising.com/security/fake-google-bots.html

BluesRockAddict
quelle
Danke, aber eigentlich habe ich das auch versucht, indem ich die Benutzeragenten ermittelt und die Bots an eine Anmeldeseite gesendet habe. Dies schlug ebenfalls fehl.
Klingt so, als würden Sie den Punkt verfehlen - es reicht nicht aus, sich bei der Ermittlung der Bot-Authentizität auf den Benutzeragenten zu verlassen.
BluesRockAddict
1

Sie sollten in erster Linie sicherstellen, dass jede von einem Useragent angeforderte Seite, unabhängig davon, welchen missbräuchlichen Crawler Sie haben, eine statische Seite erhält.

Ein Apache mod_rewrite mit einer Bedingung oder gleichwertig mit Ihrem http-Server. Für Apache so etwas:

RewriteCond  %{HTTP_USER_AGENT}  ^GoogleBot [OR]
RewriteCond  %{HTTP_USER_AGENT}  ^OtherAbusiveBot
RewriteRule  ^/$                 /static_page_for_bots.html  [L]
smassey
quelle
danke, aber ich möchte die Google-, MS Bing- und Yahoo-Bots nicht vollständig blockieren, aber ich möchte die direkten Treffer auf die Skriptdatei rss2html.php begrenzen. Ich muss nur am Anfang des Skripts rss2html.php etwas hinzufügen, das verhindert, dass es ausgeführt wird, wenn nicht über das Skript index.php darauf zugegriffen wurde. Die Bots führen derzeit das Skript rss2html.php aus, wobei die Datei index.php umgangen wird.
Sammy
Dies blockiert sie nicht. Sie liefern einfach eine zwischengespeicherte Version Ihres PHP. Dies ist sehr einfach für einen Server, es ist eine PHP-Instanz weniger / ein untergeordneter Apache-Prozess weniger. => Kosten (statische Datei) <Kosten (PHP-Instanz).
Smassey
Wie würde ich die Seiten zwischenspeichern? Werden die zwischengespeicherten Seiten häufig genug aktualisiert, um neue Daten bereitzustellen, da es sich um RSS-Seiten handelt?
Sammy
Natürlich ... Schreiben Sie einen Cronjob, der das für Sie erledigt. Wenn Sie sagen, dass sie den Server mit 10 Req / s erreichen, wenn Sie die Seiten 1 Minute lang zwischenspeichern, haben Sie Ihrem Server 599 zusätzliche PHP-Instanzen (die sicherlich DB-Verbindungen / Abfragen enthalten) gespeichert. Und einmal pro Minute ist viel mehr als das, was ich abstimmen würde für: 10 / 15min.
Smassey
1

Um mit dem Beitrag von smassey fortzufahren, können Sie verschiedene Bedingungen festlegen:

RewriteCond  %{HTTP_USER_AGENT}  ^GoogleBot [OR]
RewriteCond  %{HTTP_USER_AGENT}  ^OtherAbusiveBot
RewriteRule  ^rss2html\.php$     /static.html  [L]

Auf diese Weise greifen die Bots immer noch auf Ihre Seiten zu, aber nicht auf diese. Da es seltsam ist, dass die (legitimen) Bots sich nicht an Regeln halten, haben Sie Verweise, die Bots aus anderen Quellen auf Ihre Seite senden (Weiterleitung von Domainnamen, ...)

ndrix
quelle
1

Ich habe das gleiche Problem mit dem Skript gelöst, das unter http://perishablepress.com/blackhole-bad-bots/ verfügbar ist . Mit diesem Blackhole-Ansatz habe ich eine Liste bösartiger IP-Adressen gesammelt und diese dann mit .htaccess abgelehnt. (Dies ist nicht obligatorisch, da das Skript selbst das Verbot ausführt. Ich muss jedoch die Serverlast reduzieren, indem ich das PHP-Parsing für bekannte unerwünschte IPs vermeide.) In drei Tagen ging mein Datenverkehr von 5 GB pro Tag auf 300 MB zurück, was ruhig erwartet wird.

Auf dieser Seite finden Sie auch eine vollständige Liste der Zugriffsregeln zum Blockieren vieler bekannter Junk-Bots. http://www.askapache.com/htaccess/blocking-bad-bots-and-scrapers-with-htaccess.html

Nishad TR
quelle
0
// Checks to see if this script was called by the main site pages,
// (i.e. index.php or mobile.php) and if not, then sends to main page
session_start();  
if (isset($_SESSION['views'])) {$_SESSION['views'] = $_SESSION['views']+ 1;} else {$_SESSION['views'] = 1;}
if ($_SESSION['views'] > 1) {header("Location: http://website.com/index.php");}

Dieses Skript macht nicht das, was der Kommentar sagt, sondern das genaue Gegenteil. Dadurch werden die Bots immer durchgelassen, da die Sitzungsvariable niemals festgelegt wird, wenn der Bot Ihr Skript anfordert. Möglicherweise wird nur verhindert, dass legitime Anforderungen (von index.php oder mobile.php) das Skript mehrmals aufrufen.

Um zu verhindern, dass ein Bot auf Ihr Skript zugreift, sollten Sie den Zugriff nur zulassen, wenn tatsächlich eine Sitzungsvariable (oder ein Cookie) festgelegt ist. Vorausgesetzt natürlich, der (böswillige) Bot akzeptiert keine Cookies. (Wir wissen, dass der echte Googlebot dies nicht tut.)

Wie bereits erwähnt, würde das Platzieren von rss2html.php über dem Webstamm (außerhalb des öffentlichen Webspace) einen Bot daran hindern, direkt auf das Skript zuzugreifen - aber Sie sagen, dies verursacht andere Probleme? Oder legen Sie es in einem Verzeichnis ab und schützen Sie dieses Verzeichnis mit .htaccess. Oder können Sie sogar nur die Datei selbst in .htaccess vor direkten Anforderungen schützen?

Herr weiß
quelle
0

Richten Sie Ihre Domain auf Cloudflare ein (kostenloser Service hierfür). Sie blockieren böswillige Bots auf Domänenebene, bevor sie Ihren Server erreichen. Dauert ca. 20 Minuten, muss nie mit dem Code Affen.

Ich benutze diesen Service auf allen meinen Websites und allen Client-Websites. Sie identifizieren böswillige Bots basierend auf einer Reihe von Techniken, einschließlich der Nutzung des Projekts Honey Pot.

Brett Bumeter
quelle
0

Sie müssen lediglich ein SSL-Zertifikat für apache / nginx / email / ftp auf Ihrem Server installieren. Wenn Sie HSTS aktivieren, müssen Sie auch Ihre Datei ssl.conf bearbeiten, damit SSLv2 SSLv3 TLSv1 deaktiviert ist und keine eingehenden Verbindungen zulässt. Stärken Sie Ihren Server richtig und Sie werden keine Probleme von Bots haben.

Robert
quelle
Mir ist nicht klar, welches Problem SSL / TLS in diesem Fall löst. Es sieht so aus, als würden Sie die Frage stellen und zum Ergebnis gelangen. Bitte erläutern Sie, wie diese Lösung das Problem steuert.