home · Automad · Bludit · ChatGPT · CMS · GetSimple · GRAV · Handlebars · htaccess · Java · Jira · PHP · Pico · Smarty · Typemill · WonderCMS · WordPress · Yellow ·
URI-Sperre mit PHP statt htaccess

URI-Sperre mit PHP statt htaccess

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

URI-Aufrufe mit PHP sperren

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("

", $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']." ";

            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 '© by Oliver Lohse - Administrator - SEO-Toolkit';
            echo '</div>';
            echo '</body>';
            echo '</html>';

            exit;
        }
    }
?>

Code

Dieser Leitartikel besitzt keine untergeordneten Beiträge.

Affiliate

Java ist auch eine Insel - Das Standardwerk für Programmierer. Über 1.000 Seiten Java-Wissen. Mit vielen Beispielen und Übungen, aktuell zu Java 21 - Java-Bücher gibt es wie Sand am Meer, aber die Java-Insel ist das Kultbuch für Programmierer und erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Seit über einem Jahrzehnt profitieren Java-Einsteiger, Studenten und Umsteiger von anderen Programmiersprachen gleichermaßen von diesem Standardwerk unter den Java-Büchern. Dozenten und Ausbilder schätzen das Buch für die zahlreichen Beispiele, Aufgaben und Musterlösungen. Leserinnen und Leser feiern es für die verständliche Darstellungsweise und den feinen Humor Programmierung darf auch Spaß machen!

Hinweis: Die Webseite ist Mitglied im Amazon.Partnernet und kann mit Affiliate-Links den Betrieb stützen. Für Sie als Leser ist das natürlich vollkommen kostenlos.

(c) by CMSWorkbench.de