HTML-Formulare. Entfernen der WP-Version

HitmanPro erkennt, identifiziert und entfernt Viren, Spyware, Trojaner, Rootkits und andere Malware.

Das Dienstprogramm verwendet eine eigene Verhaltensanalyse- und Dateicluster-Untersuchungs-Engine sowie innovative Cloud-Scan-Technologie unter Verwendung der Antiviren-Datenbanken von SophosLabs, Kaspersky und Bitdefender. Der HitmanPro-Scanner erkennt und entfernt potenziell bösartige Bedrohungen mit minimalen Auswirkungen auf die Systemleistung.

* HitmanPro ist ein kostenloser Antivirenscanner. Die Löschfunktion steht 30 Tage lang kostenlos zur Verfügung.

Hauptfunktionen von HitmanPro

Kann Ihr Antivirenprogramm mit den neuesten Bedrohungen umgehen?

Eine neue Malware-Quelle kann überall gefunden werden, sogar auf vertrauenswürdigen Websites. Diese Bedrohungen können verschiedene Techniken nutzen, um den Virenschutz zu umgehen. HitmanPro ist für die Zusammenarbeit mit dem Virenschutz konzipiert und verwendet eine umfassende Verhaltensanalyse, um Zero-Day-Bedrohungen zu finden und zu neutralisieren – moderne Bedrohungen, die versuchen, der Erkennung zu entgehen.

Verhaltenserkennung + kollektive Erfahrung

Anstatt Signaturdefinitionen zur Identifizierung von Malware zu verwenden, untersucht HitmanPro das Verhalten jeder Datei auf schädliche Aktivitäten. Dieser Ansatz gibt HitmanPro die Möglichkeit, die neueste heimtückische Malware und Viren zu blockieren, bevor sie identifiziert werden. HitmanPro stellt außerdem eine Verbindung zur SophosLabs-Malware-Datenbank her, um weitere Formen neuer Bedrohungen zu erkennen und sie bis zu ihrer Quelle zurückzuverfolgen.

Keine Installation

HitmanPro benötigt 12 Megabyte und erfordert keine Installation. Das Programm kann direkt von Ihrem Desktop, USB-Laufwerk, CD/DVD oder Remote-Speicher gestartet werden. Selbst wenn Ihr Antivirenprogramm von Malware oder Ransomware kontrolliert wird, funktioniert HitmanPro ordnungsgemäß und ist in der Lage, Bedrohungen zu erkennen und zu entfernen.

Umfangreiche Restaurierung

Mit HitmanPro können Sie hartnäckige Bedrohungen entfernen, die im Betriebssystem Fuß gefasst haben, infizierte Systemressourcen durch sichere Originalversionen ersetzen und gleichzeitig erneute Infektionsversuche blockieren.

Testpreise

Die Übertragung von Daten über das Array $_SESSION ist einmalig erlaubt; die übertragenen Daten werden sofort gelöscht. Dies kann beispielsweise nützlich sein, wenn in einem anderen Modul eingegebene Daten an ein Formular „zurückgegeben“ werden sollen.

Gut ist es, wenn alle Servicefunktionen in einem Modul zusammengefasst sind, das die Hauptmodule über die Direktive require_once verbinden. Wir werden unser Modul der Servicefunktionen function.php aufrufen und zusätzlich zu den erwähnten Trimall- und Magic-Methoden die folgenden Funktionen dort einbinden:

  • read() – liest die aktuelle Datenbank und gibt ein Array von Datensätzen zurück;
  • write($a) – schreibt ein Array von Datensätzen $a in eine Datei;
  • get_index_by_name ($a,$name) – sucht nach dem entsprechenden Eintrag anhand des Namens $name und gibt seine Nummer (von Null) oder den Wert -1 zurück, wenn der Eintrag nicht gefunden wird. Dies ist nützlich, um zwischen dem Hinzufügen eines neuen Eintrags und dem Bearbeiten eines vorhandenen Eintrags zu unterscheiden.

Darüber hinaus enthält die Funktionsdatei die Konfigurationsdatei und startet die Sitzung – diese Funktionen können von jedem Modul benötigt werden, das sie verbindet.

function.php-Datei

Beachten Sie, dass die Lesefunktion zusätzlich das Datensatzarray aus leeren Zeichenfolgen herausfiltert (nur für den Fall, dass diese im Allgemeinen nicht vorkommen sollten) und trimall zunächst alle nicht leeren Trennzeichenfolgen durch ein einzelnes Leerzeichen ersetzt (das zweite preg_replace) und Entfernen Sie dann mögliche zusätzliche Trennzeichen am Anfang und Ende der verbleibenden Zeile (dem ersten preg_replace).

Es gibt auch eine Nuance bei der Lesefunktion hinsichtlich der Codekompatibilität. Da die einzige Zeile eine anonyme Funktion enthält, wird davon ausgegangen, dass die PHP-Version nicht niedriger als 5.3 ist. Ersetzen Sie bei Bedarf den folgenden Code durch einen Code, in dem die Filterfunktion benannt oder überhaupt nicht verwendet wird, wie hier:

Funktion read () ( $str=@file_get_contents (FILENAME); $a=explode("\n",$str); return $a; )

Wichtig ist auch die korrekte Umwandlung der Unicode-Zeichenfolge in Kleinbuchstaben (siehe mb_strtolower im Code). Wir verwenden hier kein Gebietsschema.

Es scheint an der Zeit zu sein, die Hauptdatei index.php zu schreiben. Er wird folgende Aufgaben lösen:

  • ein Formular zum Hinzufügen eines neuen Datensatzes anzeigen, der vom Modul add.php verarbeitet wird;
  • Neben dem Formular zum Hinzufügen werden zusätzliche Befehle angezeigt: Löschen des Formulars durch „Selbstaufrufen“ eines Skripts ohne Parameter (die Schaltfläche funktioniert hier nicht, da keine Daten an den Server übertragen werden) und ein Link zum Zugriff auf die Datensatzsortierung Modul namens sort.php;
  • erhalten die Ergebnisse ihrer Arbeit von anderen Modulen in Form einer numerischen Variablen $status und zeigen entsprechende Meldungen an (Array $status_msg). Der $status-Wert gleich Null wird standardmäßig akzeptiert, er entspricht der Ausgabe einer kurzen Hilfe zur Programmbedienung;
  • Wenn die Datenbank nicht leer ist, zeigen Sie ihre Datensätze an und stellen Sie einen Übergang zum Bearbeiten oder Löschen bereit.

Um die Tabelle nicht mit zusätzlichen Schaltflächen und Links zu überladen, klicken wir namentlich indem Sie den Eintrag mit dem Modul edit.php bearbeiten und auf klicken nach Feld „Anzahl“ entspricht dem Löschen eines Eintrags durch das del.php-Modul.

So sieht es mit ein paar hinzugefügten Einträgen aus:

Aussehen des Skripts „Mini-DB auf einer Textdatei“

index.php-Datei

Kommen wir nun zu den fehlenden Modulen. add.php scheint eine einfache Aufgabe zu haben: Holen Sie sich die Variablen $name und $number aus index.php und schreiben Sie sie in eine Datei. Das Modul muss jedoch prüfen, ob ihm nicht leere Daten übergeben werden, und außerdem in der Lage sein, die Situation zu unterscheiden, in der ein bereits in der Datenbank vorhandener Name von der Eingabe eines neuen Datensatzes eingegeben wird (siehe ob ($id>- 1) ( ... ) sonst ( ... ) im Code). Im letzteren Fall wird der Eintrag immer am Ende hinzugefügt, da es ein Modul zum alphabetischen Sortieren von Zeichenfolgen gibt.

Es ist auch wichtig, dass die $name-Zeichenfolge, die durch den Parameter-Handler „übergeben“ wird, bereits keine „kritischen“ Markup-Zeichen wie „, „,“ enthält.< и >und im aus der Datendatei gelesenen Array $a sind alle Zeilen „wie sie sind“ und 123 wird nicht gefunden, wenn sich $name nach der Verarbeitung in 123 verwandelt hat. Daher wird der Datensatzsuchfunktion, die wir get_index_by_name nennen, eine Zeichenfolge übergeben, die mithilfe der Standardfunktion htmlspecialchars_decode (verfügbar ab PHP 5.1) „zurück“ in ihre ursprüngliche Form konvertiert wird. In der gleichen Form wird die Zeichenfolge über das Array $_SESSION an index.php zurückgegeben. Dies bietet einen gewissen Komfort: Nach der Eingabe eines neuen Eintrags bleiben dessen Daten im Formular erhalten und es ist möglich, einen anderen Eintrag mit einem etwas anderen Namen („Ivanova“ nach „Ivanov“) einzugeben.

Nun, die Rückkehr von Modul zu Modul ist absolut Standard – über die Standard-Header-Funktion. Denken Sie daran, dass es nur verwendet werden kann, wenn das Modul noch nichts an den Browser ausgegeben hat.

add.php-Datei

Nun zur Bearbeitung, sie wird in edit.php implementiert. Das Bearbeitungsformular ist fast das gleiche wie das Hinzufügenformular, wir waren nur zu faul, eine separate Funktion zur Anzeige des Formulars zu erstellen. Noch wichtiger ist, dass das Modul selbst ein Verarbeiter der über das Bearbeitungsformular übertragenen Daten ist und daher die Situation, in der es gerade aufgerufen wird, von der Situation unterscheiden muss, in der der Benutzer auf „Speichern“ geklickt hat. Die letzte Aufgabe besteht darin, zu überprüfen

If (!empty($_POST["submit"]) && !empty($name) && isset($number) && isset($id)) (

Feststellung, ob die Taste gedrückt wurde und alle Daten übertragen wurden. Zweiter Zweig -

Else if (isset($a[$id])) (

ist für den Fall gedacht, dass im Array $a ein Eintrag vorhanden ist, dessen Nummer an das Skript übergeben wird und bearbeitet werden muss. Die Eintragsnummer wird in einem versteckten HTML-Feld gespeichert.

Datei edit.php

Das Del.php-Modul zum Entfernen von Datensätzen ist recht einfach. Sie müssen lediglich eine gültige Datensatz-ID (Elementnummer im Array $a) abrufen, das entsprechende Element aus dem Array entfernen, die Datei neu schreiben und zum Hauptmodul zurückkehren Seite.

Datei del.php

Schließlich wird das Sortiermodul sort.php ein neues Problem einführen: Wie sortiert man Unicode-Zeichenfolgen alphabetisch, ohne zwischen Groß- und Kleinbuchstaben zu unterscheiden? Eine „direkte“ Sortierung mit der Standardsortierfunktion ist kaum geeignet – sie betrachtet einen Kleinbuchstaben und einen Großbuchstaben als unterschiedliche Zeichen. Wir haben das Gebietsschema nicht festgelegt, insbesondere da es kein einheitliches Eingabeformular für alle Betriebssysteme zur Installation gibt.

Beschränken wir uns auf die Auswahl von usort aus der ganzen Vielfalt an Funktionen zum Sortieren von Arrays mit einer benutzerdefinierten Funktion zum Vergleichen von Elementen.

Der verwendete „direkte“ Vergleich von Einzelzeichen-Unicode-Strings scheint nicht ganz korrekt zu sein, aber strcmp vergleicht Strings Byte für Byte und ist für uns nicht geeignet, aber im Allgemeinen ist der Vergleich korrekt beliebig Zeichenfolgen in Unicode sind eine sehr schwierige Aufgabe... Bei mir hat alles im System für Russisch und Englisch funktioniert, zum Beispiel habe ich nach dem Sortieren natürliche Wortreihenfolgen erhalten, wie zum Beispiel

Abba, Avka, Avklit, Basya, Bobi, Bobik, Bobik, Bobina

Datei sort.php

Alles, was wir tun müssen, ist, eine Datei im Ordner mit dem Namen .htaccess zu erstellen, in der wir die Standardkodierung auf Unicode festlegen und die Anweisungen zum Festlegen von Anführungszeichen für die Site angeben, also ...

Erstellen Sie im selben Ordner eine leere (0 Byte) Datei data.txt (optional, wenn alle Rechte konfiguriert sind).

File.htaccess AddDefaultCharset utf-8 php_flag magic_quotes_gpc aus php_flag magic_quotes_runtime aus php_flag magic_quotes_sybase aus

Sie können sehen, was passiert ist, und mich über die Probleme informieren, die Sie gefunden haben. Ich habe das Skript sehr schnell geschrieben, in zwei Schritten, und vielleicht habe ich etwas nicht zu Ende gedacht :)

Sammlung nützlicher Snippets (Codes). Die Codes sind für allgemeine Aufgaben beim Bearbeiten oder Erstellen eines Themes konzipiert.

Normalerweise sollte dieser gesamte Code in der Datei „functions.php“ des Themes abgelegt werden. Oder Sie können eine separate.php-Datei erstellen, den Code dort platzieren und die Datei wie folgt mit der Functions.php des Themes verbinden:

// Snippets verbinden require_once "functions-snippets.php";

CSS-Erscheinungsbild für den TinyMCE-Editor

Verbindet die Styles-Datei mit dem WordPress TinyMCE-Editor. Auf diese Weise können wir Editor-Stile im Admin-Panel einrichten und beim Bearbeiten eines Beitrags sehen, wie er im Frontend aussieht.

// Stile für den TinyMCE-Editor // Sie müssen eine Datei „editor-styles.css“ im Theme-Ordner erstellen add_action("current_screen", "my_theme_add_editor_styles"); Funktion my_theme_add_editor_styles() ( add_editor_style("editor-styles.css"); )

CSS für die Anmeldeseite

## CSS für die Anmeldeseite ## Sie müssen eine Datei „wp-login.css“ im Theme-Ordner erstellen add_action("login_head", "my_loginCSS"); Funktion my_loginCSS() ( echo ""; )

CSS für Admin-Panel

Enthält eine Style-Datei auf allen Seiten des Admin-Panels. So können Sie die Stile des Admin-Panels bequem ändern und ergänzen.

## CSS-Stile für das Admin-Panel. Sie müssen eine Datei „wp-admin.css“ im Theme-Ordner erstellen add_action("admin_enqueue_scripts", "my_admin_css", 99); function my_admin_css())( wp_enqueue_style("my-wp-admin", get_template_directory_uri() ."/wp-admin.css"); )

Entfernen der Admin-Leiste aus dem Frontend

Die Admin-Leiste kann stören, wenn das Theme feste (schwebende) Blöcke verwendet. In solchen Fällen ist es manchmal einfacher, diese Leiste zu entfernen.

## Entfernt die Admin-Leiste vom Frontend add_filter("show_admin_bar", "__return_false"); ## Widget-Unterstützung aktivieren. Fügen Sie einen Bereich für Widgets hinzu if(function_exists("register_sidebar"))( register_sidebar(array("before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "" , )); )

Aktivieren der benutzerdefinierten Menüunterstützung

Registriert einen Bereich (Standort) für ein Menü und aktiviert die Menüunterstützung. Nach der Installation dieses Codes im Admin-Panel ist es möglich, benutzerdefinierte Menüs zu erstellen und diese an die durch diesen Code erstellten Bereiche anzuhängen. In einer Menüvorlage wird es durch die Funktion wp_nav_menu() angezeigt.

## Benutzerdefinierte Menüs hinzufügen register_nav_menus(array("main" => "Hauptmenü", "in_footer" => "Menü in der Fußzeile",));

Hinzufügen von Links zum RSS-Feed von Beiträgen und Kommentaren

Benutzerdefiniertes Hintergrundbild oder Hintergrund ## Ermöglicht die Möglichkeit, ein Hintergrundbild über das Admin-Panel festzulegen add_theme_support("custom-background");

Als Ergebnis gibt der Code Folgendes aus:

body.custom-background (Hintergrundfarbe: #bdd96e;)

Einbinden von Shortcodes in das Text-Widget

Viele Plugins verwenden Shortcodes, aber nicht alle verfügen über Widgets. In diesem Fall wäre es praktisch, den Plugin-Shortcode im „Text“-Widget zu verwenden.

## Shortcodes im „Text“-Widget if(! is_admin())( add_filter("widget_text", "do_shortcode", 11); )

Standardmäßig zufälliger Text im Inhaltsfeld im Admin-Bereich

Beim Erstellen eines neuen Eintrags (Beitrags oder Seite) ist es manchmal praktisch, dort einige Notizen zu haben, in denen erklärt wird, wie und was geschrieben werden soll. Dazu können Sie Standardtext in den Inhalt einfügen:

## Zufälliger Standardtext für den Editor add_filter("default_content", "writing_encouragement_func"); function writing_encouragement_func($content) ( global $post_type; // Texte für den Editor, Beitragstyp if($post_type == "post")( $array = array("Some message", "Some message", ); return $ array[ array_rand($array) ]; ) // Texte für den Editor, Beitragstyp Seite else ( $array = array("Some message", "Some message",); return $array[ array_rand($array) ]; ) )

Ändern der Anzahl der Einträge auf der Suchseite

Standardmäßig zeigt die Suchseite die gleiche Anzahl an Einträgen auf der Seite an wie anderswo, wie in den Einstellungen festgelegt.

Dieses Beispiel zeigt, wie 100 Datensätze auf einer Seite angezeigt werden.

## Anzahl der Beiträge auf der Suchseite ändern – hier auf 100 setzen add_action("pre_get_posts", "search_results_per_page_func"); function search_results_per_page_func($query) ( // Abfrage auf der Suchseite if(! is_admin() && $query->is_main_query() && $query->is_search())( $query->set("posts_per_page", 100) ; ) $query zurückgeben; )

Legt fest, wie viele Wörter ein Zitat enthalten soll, das normalerweise auf archivierten Seiten von Beiträgen (Kategorien, Tags) angezeigt wird. Das Zitat wird von der Funktion the_excerpt() ausgegeben.

## Zitatlänge ändern add_filter("excerpt_length", "custom_excerpt_length_func"); function custom_excerpt_length_func($length) ( return 20; // Anzahl der Wörter )

Felder aus einem Profil im Admin-Bereich entfernen: AIM, Yahoo IM, Jabber ## entfernt Felder aus dem Profil: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "remove_contactmethod"); Funktion remove_contactmethod($contactmethods) ( unset($contactmethods["aim"]); unset($contactmethods["jabber"]); unset($contactmethods["yim"]); return $contactmethods; ) Felder zu einem Profil hinzufügen im Admin: Facebook, Twitter ## Fügt dem Profil Felder hinzu: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "add_contactmethod"); Funktion add_contactmethod($contactmethods) ( $contactmethods["twitter"] = "Twitter"; $contactmethods["facebook"] = "Facebook"; return $contactmethods; ) Hinzufügen der has_sidebar-Klasse zum Tag, wenn eine Seitenleiste vorhanden ist

Damit dieser Hack funktioniert, muss das Theme-Tag wie üblich das Template-Tag body_class() verwenden.

## Hinzufügen der Klasse „has_sidebar“ zum Tag „, wenn eine Seitenleiste vorhanden ist add_filter("body_class", "has_sidebar_func"); function has_sidebar_func($classes)( if(is_active_sidebar("sidebar"))( // eine Klasse hinzufügen $classes = "has_sidebar"; ) return $classes; )

Hinzufügen eines Widgets zur Konsole

Manchmal kann es nützlich sein, der Admin-Panel-Konsole ein Widget hinzuzufügen, um wichtige Informationen zum aktuellen Thema zu platzieren.

## Benutzerdefiniertes Widget in der Konsole im Admin-Panel add_action("wp_dashboard_setup", "my_custom_dashboard_widgets"); function my_custom_dashboard_widgets() ( wp_add_dashboard_widget("custom_help_widget", "Theme Notes", "custom_dashboard_help"); ) function custom_dashboard_help() ( echo "

Willkommen im Thema „Mein Thema“! Hier ein paar Anmerkungen zum Thema.";)

Wir erhalten dieses Widget:

Einschließlich eines Kommentar-Antwort-Skripts

Dieses Skript verschiebt das Kommentarformular, wenn Sie auf die Schaltfläche „Antworten“ klicken.

## Kommentar-Antwort-Skript verbinden add_action("wp_footer", "enable_threaded_comments"); function enable_threaded_comments())( if(is_singular() && comments_open() && get_option("thread_comments")) wp_enqueue_script("comment-reply"); )

Bilder Aktivieren Sie die Miniaturansichten von Beiträgen

Standardmäßig verfügen Beiträge über keinen Block, in dem Sie eine Miniaturansicht des Beitrags festlegen können. Damit ein solcher Block angezeigt wird, muss er aktiviert sein. Sie müssen die Miniaturansicht-Unterstützung aktivieren. Das geht ganz einfach:

## Post-Miniaturansichten aktivieren add_theme_support("post-thumbnails"); set_post_thumbnail_size(200, 200, true); // Normale Post-Thumbnails

Erstellen zusätzlicher Zwischengrößen für Miniaturansichten

Wenn Sie ein Bild hochladen, werden zusätzliche Größen dafür erstellt – Miniaturansichten. Sie können den Grundmaßen ganz einfach Ihre eigenen hinzufügen – beliebige.

## Zwischengrößen für Miniaturansichten erstellen if(function_exists("add_image_size"))( add_image_size("mysize-horizont", 300, 200, true); add_image_size("mysize-vertical", 400, 500, true); )

Um die registrierte Größe zu erhalten, verwenden Sie die Funktion:

Hinzufügen einer Miniaturansicht zu einem RSS-Feed

Dieser Code fügt oben im RSS-Feed eine Miniaturansicht des Beitrags hinzu.

## Ein Miniaturbild zum RSS-Feed hinzufügen add_filter("the_excerpt_rss", "add_thumbnail_to_feed"); //add_filter("the_content_feed", "add_thumbnail_to_feed"); // normalerweise wird dieser Hook nicht verwendet, kann aber auch sein... function add_thumbnail_to_feed($content)( $img = get_the_post_thumbnail(null, array(100, 80), array("align" => "left", " style" => "margin-right:15px;")); $content = $img . $content; return $content; )

Brechen Sie das Umschließen von Bildern in einem Tag ab

Inhaltlich

Beim Anzeigen von Inhalten in einem Theme mit the_content() wird die Funktion wpautop() ausgelöst und als Ergebnis if steht in einer separaten Zeile, es wird umbrochen

Diese. War wurde .

Dieses Beispiel zeigt, wie dieses seltsame Verhalten entfernt wird.

## Brechen Sie das Umschließen von Bildern im `-Tag ab

` im Inhalt add_filter("the_content", "remove_img_ptags_func"); Funktion remove_img_ptags_func($content)( return preg_replace("/

\s*((?:]+>)?\s* ]+>\s*(?:)?)\s*/i", "\1", $content); ) // HTML5-Skript für IE mit cdn verbinden add_action("wp_head", "IEhtml5_shim_func"); function IEhtml5_shim_func())( echo ""; // oder wenn Sie auch Druckunterstützung benötigen // echo ""; )

Legen Sie die maximale Anzahl von Datensatzrevisionen fest

Standardmäßig ist die Anzahl der Datensatzrevisionen unbegrenzt, was die Datenbank unnötig überladen kann. Revisionen komplett zu deaktivieren ist auch nicht die beste Lösung, denn es kommt vor, dass beim Bearbeiten eines Datensatzes etwas schief geht und die eingegebenen Daten verloren gehen – der Job ist den Bach runter...

Begrenzen Sie idealerweise die Anzahl der Revisionen, zum Beispiel auf 5:

If(! definiert("WP_POST_REVISIONS")) define("WP_POST_REVISIONS", 5);

Die Konstante muss im Plugin oder früher definiert werden.

Schutz entfernen WP-Version

Dies ist notwendig, damit Hacker die WP-Version nicht kennen und Schwachstellen nicht erkennen können. Zusammen mit diesem Code müssen Sie auch die Datei readme.html im Stammverzeichnis der Site löschen, da sie auch die aktuelle Version anzeigt.

## Vollständige Entfernung der WP-Version ## Sie müssen auch die Datei readme.html im Stammverzeichnis der Site löschen. Remove_action("wp_head", "wp_generator"); // aus dem Header add_filter("the_generator", "__return_empty_string"); // aus Feeds und URLs

Deaktivieren Sie Fehlermeldungen auf der Anmeldeseite

Im Falle eines Fehlers bei der Eingabe eines Logins oder Passworts meldet WP, was genau falsch eingegeben wurde: Login oder Passwort. Dies bietet zusätzliche Informationen für Passwort-Räter.

Deaktivieren Sie die Möglichkeit, Dateien im Admin-Bereich für Themes und Plugins zu bearbeiten

Die Möglichkeit, Dateien direkt über das Admin-Panel zu bearbeiten, kann zu einer großen Sicherheitslücke werden. Schließen wir es.

## Deaktivieren Sie die Möglichkeit, Dateien im Admin-Panel für Themes und Plugins zu bearbeiten define("DISALLOW_FILE_EDIT", true);

Schließen Sie die Veröffentlichung über xmlrpc.php

Standardmäßig ist die Möglichkeit zum Veröffentlichen von Beiträgen über die Datei xmlrpc.php aktiviert.

Dies ist eine Gelegenheit, Beiträge von außen zu veröffentlichen, beispielsweise per E-Mail. In den meisten Fällen wird diese Funktionalität nicht benötigt und weist möglicherweise Lücken auf. Daher ist es in den meisten Fällen wünschenswert, es zu deaktivieren. Übrigens war diese Funktionalität in früheren Versionen von WordPress standardmäßig deaktiviert und musste aktiviert werden, um sie nutzen zu können.

## Deaktivieren Sie die Möglichkeit zur Veröffentlichung über xmlrpc.php add_filter("xmlrpc_enabled", "__return_false");

Selbst bei der Erstellung einer persönlichen Website kann nicht jeder alle Möglichkeiten der weiteren Verwendung vorhersehen. Es ist sehr wichtig, den Boden für die weitere Entwicklung des Standorts vorzubereiten. Wenn Sie in der Vergangenheit eine Website erstellt und allen Seiten standardmäßig die Erweiterung .html zugewiesen haben und sich erst dann für die Verwendung von PHP entschieden haben, dann lesen Sie weiter.

Früher mussten die Seitennamen von Websites mit der Erweiterung .shtml enden, um SSI verwenden zu können. Heutzutage sind die meisten Internetserver jedoch so konfiguriert, dass SSI auf Seiten mit der Erweiterung .html verwendet werden kann, was sehr praktisch ist. PHP ist eine völlig andere Geschichte – die Erweiterung .php ist die Standarderweiterung. Website-Entwickler, die im Voraus wissen, dass eine bestimmte Programmiersprache verwendet wird, weisen sofort die richtige Erweiterung zu.

Was aber tun, wenn alle Seiten mit der Erweiterung .html enden?

Ersetzen Sie die HTML-Erweiterung durch PHP

Dies kann auf verschiedene Arten erfolgen. Der naheliegendste Weg besteht darin, allen Seiten eine .php-Erweiterung zu geben oder bestehende Erweiterungen (.html, .shtml usw.) zu ändern. Diese Methode hat Nachteile. Beispielsweise müssen bereits indizierte Seiten mit der Erweiterung .html von Suchmaschinen neu indiziert werden. Oder noch schlimmer: Alle externen Links, die explizit auf eine bestimmte Seite verweisen, sind ungültig. Und Sie müssen die Eigentümer jeder Website über diese Änderungen informieren und für jede Seite eine weitere Seite mit 301-Fehlern erstellen. Natürlich ist der Wechsel von einer Erweiterung zu einer anderen akzeptabel, aber was ist, wenn die Site bereits viele Seiten und viele Links zu anderen Seiten anderer Sites hat?

Aus einem bewussten Grund enden derzeit alle Seiten dieser Website mit der HTML-Erweiterung und ich wollte die oben genannten Änderungen nicht vornehmen, was mir unnötige Schwierigkeiten bereitet.

Sie können es auch anders machen. Wenn der Server, auf dem sich die Site befindet, mod_rewrite unterstützt (was in den meisten Fällen der Fall ist) und Zugriff auf die .htaccess-Datei besteht, können Sie genau dieser Datei die folgenden Zeilen hinzufügen:

RewriteEngine auf RewriteRule ^(.*)\.html $1\.php

Wenn Sie diesen Code zu .htaccess hinzufügen, müssen Sie sich keine Sorgen machen. Alle angeforderten, nicht vorhandenen Seiten mit der Erweiterung .html werden dank der Wunder von Apache automatisch durch eine Erweiterung .php ersetzt. Aber diese Methode ist nicht die einzige. Sie können Folgendes in dieselbe .htaccess-Datei schreiben:

AddHandler application/x-httpd-php .php .html .htm

Meiner Meinung nach der erfolgreichste Weg. Dadurch werden HTML-Seiten den PHP-Seiten gleichgestellt, d. h. alle PHP-Funktionen können nun in Seiten mit einer HTML-Erweiterung verwendet werden. Wenn Sie keinen Zugriff auf die .htaccess-Datei haben, können Sie einen Brief an das Hosting-Unternehmen schreiben und die Administratoren höflich bitten, den erforderlichen Wert für die Site in die Apache-Konfiguration (httpd.conf) einzugeben.

Übrigens, wenn die Site zuvor SSI wie folgt verwendet hat:

dann muss dieser Code im neuen PHP-Status ersetzt werden durch:

Nun, das ist alles, ich denke, eine der oben genannten Methoden wird helfen.