Unliebsame URI Aufrufe sperren mit PHP statt htaccess

Für mehr Kontrolle beim sperren von unliebsamen URI Aufrufen sorgt dieses PHP-Script

Juli 5, 2023 - Lesezeit: 2 Minuten

Die Sperrung von unliebsamen URI in die Webseite hinen habe ich ja bereits gezeigt, mit Hilfe der Sperre in der htaccess werden unliebsame Besucher bereits vor Eintritt in die Webseite gesperrt. Der Nachteil der Methode wa jedoch, das nur wenig Kontrolle möglich ist, denn um zu prüfen welcher Besucher abgewiesen wurde, muss das Serverlog eingesehen werden.

Die Variante mit PHP-Script tut im wesentlichen genau das gleiche, jedoch ist das PHP-Script noch in der Lage unliebsame Gäste in einem Logfile zu protokollieren.

<?php
$excluded_uri = <<<EOD
{domain.tld[/]path[/]}
{domain.tls[/]tag[/]}
{th1s_1s_a_4o4.html}
{[/]xmlrpc}
{[/]tag[/]}
{[/]wp-admin[/]}
{[/]wp-content[/]}
{[/]wp-includes[/]}
{[/]wp[/]}
{[/]_assets[/]}
{[\.]env}
{[\.]php}
EOD;

    $file_for_log = "log-".date('d').".txt";
    $grund        = "";

    foreach(explode("\n", $excluded_uri) as $regex_number => $regex_pattern) 
    {
        if (preg_match($regex_pattern, $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']))
        {
        $grund = "Path excluded Rule =>>".$regex_pattern."<<=";
            $output = date('Y-m-d H:m:s').'  >> Error 410/404 '.$grund.'  -  '.$_SERVER['REMOTE_ADDR']."\n";

            file_put_contents($file_for_log, $output, FILE_APPEND | LOCK_EX)!==false;

            http_response_code(410);

            header("HTTP/1.1 410");
            echo '<?xml version="1.0" encoding="iso-8859-1">';
            echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
            echo '<html xmlns="https://www.w3.org/1999/xhtml">';
            echo '<head>';
            echo '<meta name="robots" content="noindex, follow" />';
            echo '<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">';
            echo '</head>';
            echo '<body>';
            echo '<div class="container">';
            echo '<h1 class="p-5 my-5 text-light rounded" style="background-color: SteelBlue;">Error 410</h1>';
            echo '<p class="lead p-5 m-5">Der Beitrag (URI) wurde gelöscht, bzw. die Suchmaschine wurde mit einem Error 404 angewiesen, diesen Beitrag aus dem Index dauerhaft zu entfernen.</p>';
            echo '<p class="lead p-5 m-5">Sollte es sich um ein persönliches Lesezeichen Ihres Browsers handeln, so können Sie dieses entfernen. Sind Sie der Administrator der verweisenden Webseite, entfernen Sie bitte den Link von Ihrer Seite oder aus dem betreffenden Beitrag oder der Blogroll Ihrer Webseite.</p>';
            echo '<hr>';
            echo '&copy by Oliver Lohse - Administrator - SEO-Toolkit';
            echo '</div>';
            echo '</body>';
            echo '</html>';

            exit;
        }
    }
?>

Schlagworte:

Beiträge in der Kategorie "htaccess":

So verbieten Sie den Zugriff auf das Logfile ihrer Webseite in der htaccess

Für mehr Kontrolle beim sperren von unliebsamen URI Aufrufen sorgt dieses PHP-Script

Sperren Sie nervige Spider und Bots Ihrer Webseite komplett und dauerhaft mit der htaccess aus.

Sperren Sie nervige Spider und Bots Ihrer Webseite komplett und dauerhaft mit der htaccess aus.

Ein bekanntes Problem, mit einer htaccess mehrere Domains in einem zentralen Ordner korrekt weiterleiten bzw. umleiten

Kategorien

Automad

Das kostenlose Flat File CMS Automad bietet bereits nach der Installation auf dem Server das beste Layout unter allen CMS am Markt.

Bludit

Das kostenlose Flatfile CMS Bludit ist das beliebteste Content Management System, das dem großen WordPress sehr nahe kommt, jedoch deutlich mehr Sicherheit bietet.

CMS

In dieser Rubrik geht es um übergreifenden Themen aus dem Bereich der Content Management Systeme.

Coast

Coast ist ein CMS aus deutscher Feder und ist mit einem exzellenten HTML/PHP Frontend-Editor zu vergleichen, die Daten werden direkt in der HTML-Datei gespeichert.

GetSimple

Das kostenlose Content Management System GetSimple verspricht genau das, was der Name andeutet, ein stabiles Flat File CMS auf der Basis von XML-Dateien.

GRAV

Das kostenlose Content Management System GRAV gehört zu den komplexesten CMS, da es den größten Funktionsumfang mitbringt.

Handlebars.JS

Handlebars.js ist eine kostenlose JavaScript Template-Engine mit der einfache Webseiten oder Prototypen leicht und schnell erzeugt werden können.

htaccess

Die .htaccess ist die wohl wichtigste und mächtigste Datei, über die der Server seinen Umgang mit den Daten und Besuchern steuert.

Java

Java ist die strategische Programmiersprache für verteilte Anwendungen im Internet oder auch in der Client-Server Architektur und sogar auf dem Host.

Monstra

Das CMS Monstra ist ein überaus gelungenes und sauber entwickeltes CMS mit Admin-Backend und Flat File Datenbank.

PHP

PHP ist die strategische Programmiersprache des Internets, mit PHP geht alles und ohne PHP nichts! Allerdings ist PHP nicht auf lokalen Client-Umgebungen verbreitet (aber möglich).

Pico

Das CMS Pico ist derzeit das ausgereifteste und einfachste headless CMS für den Einsatz großer Mengen an MarkDown-Files (Content).

Smarty

Smarty ist eine Template-Engine auf Basis der Programmiersprache PHP und ist in der Lage HTML-Vorlagen (Templates) dynamisch mit Content zu versorgen.

Typemill

Typemill ist zunächst ein ganz normales Flat File CMS, entfaltet jedoch sein wahres Potenzial mit einigen besonderen Plugins, die es zum kraftvollen Publishing-Tool macht.

WonderCMS

WonderCMS ist das mit Abstand kleinste CMS das es derzeit kostenlos gibt. WonderCMS kommt mit einem PHP-Script und einer JSON-Datenbank aus und bietet ein Backend.

WordPress

Das datenbankbasierte Content Management System WordPress ist das beliebteste CMS und hält die meisten Installationen - ist allerdings auch das am meisten attackierte System.

Derzeit sind noch keine passenden Beiträge vorhanden.