Posts Tagged ‘Backup’



robots.txt

Aus gegebenem Anlass möchte ich noch mal auf diesen Beitrag hier verweisen:

Grundlegende Infos zum Start einer Website oder eines Blogs
http://h75.de/blog/grundlegendes

Da erkläre ich ein paar Dinge, die man zum Start einer Website oder eines Blogs beachten, bzw. umsetzen sollte, damit es nicht zu einem bösen erwachen kommt.

WinRAR 3.80

Lange hat sich der Beta-Test hingezogen. Wie üblich bei WinRAR. Und nun endlich ist WinRAR 3.80 verfügbar. Endlich. Denn auf einige Funktionen habe ich sehnsüchtig gewartet. WinRAR benutze ich jetzt schon 10 Jahre!!! Hab aber ‘erst’ 1999 meine erste Lizenz bekommen. Auf den Namen faceweb :D An dieser Stelle folgt ein Gruss an Ozan, Hatim und Yacir.. :) :D

WinRAR 3.80 - Vorschau
WinRAR kann man auch registrieren :-) - Vorschau

Und hier mal einige der Neuerungen.

1. Es werden nun ZIP-Archive unterstützt, die Unicode-Dateinamen im UTF-8-Format enthalten. Beim Erstellen von ZIP-Archiven speichert WinRAR Dateinamen nur dann in Unicode, wenn sie mit dem aktuellen Zeichensatz nicht korrekt gespeichert werden können.

2. Die mit WinZip erstellten AES verschlüsselten ZIP-Archive können nun entpackt werden.

3. Verbesserte Unicode-Unterstützung für RAR- und ZIP-Archivnamen.

4. Neue Archivierungsmodi “Vor dem Überschreiben nachfragen” und “Vorhandene Dateien überspringen” im Dialog “Archivname und Archivparameter einstellen – Allgemein”. Sie bestimmen das Verhalten von WinRAR beim Erneuern von bereits existierenden Dateien in einem Archiv. Im Gegensatz zu den vorhandenen Modi “Nur im Archiv vorhandene Dateien erneuern” und “Dateien hinzufügen und erneuern” werden die Dateizeiten ignoriert und nur die Dateinamen verglichen.

Die entsprechenden Schalter dafür in der Kommandozeile:

a) Schalter -o aktiviert den Archivierungsmodus “Vor dem Überschreiben nachfragen”;

b) Schalter -o- aktiviert den Archivierungsmodus “Vorhandene Dateien überspringen”;

c) Schalter -o+ aktiviert den Archivierungsmodus “Dateien hinzufügen und ersetzen” (Standardmodus beim Archivieren).

5. Neue Option “Zum Kontextmenü hinzufügen” im Dialog “Profileinstellungen”.
Ist diese Option aktiviert, so wird der Name des Komprimierungsprofils in den Kontextmenüs des Windows Explorers angezeigt. Dadurch kann ein Profil über das Kontextmenü aktiviert werden.

6. Der neue Schalter -cp ermöglicht die Wahl eines Komprimierungsprofils im Befehlszeilenmodus. Der Schalter wird nur durch die Version mit grafischer Benutzeroberfläche WinRAR.exe unterstützt, nicht durch die Konsolenversion rar.exe.

7. Der neue Reiter “Optionen” im Dialog “Archivname und Parameter einstellen” enthält Einstellungen, die das Verhalten der Option “Dateien nach dem Packen löschen” im Reiter “Allgemein” bestimmen:

a) Dateien löschen. Lösche Dateien so wie in vorherigen WinRAR-Versionen.

b) Dateien in den Papierkorb verschieben. Gelöschte Dateien werden in den Papierkorb verschoben.

Der entsprechende Kommandozeilenbefehl zu dieser Option ist der Schalter -dr.

c) Dateien sicher löschen. Vor dem Löschen werden die Dateien mit Null-Bytes überschrieben, sodass eine Wiederherstellung der gelöschten Dateien verhindert werden kann.

Der entsprechende Kommandozeilenbefehl zu dieser Option ist der Schalter -dw.

Diese Optionen haben nur Auswirkungen, wenn die Option “Dateien nach dem Packen löschen” aktiviert wurde. Das Standardverhalten der Option “Dateien nach dem Packen löschen” lässt sich durch Auswahl einer dieser Optionen im Standard-Komprimierungsprofil festlegen.

8. Der WinRAR-Dialog “Entpacken: Zielverzeichnis und Optionen” lässt sich nun in der Größe ändern.
Durch Ziehen mit der Maus an den Rändern kann der Dialog auf die gewünschte Größe gebracht werden, um z. B. mehr Platz für den Verzeichnisbaum zu schaffen. WinRAR speichert die Größe des Dialogs.

9. Neuer SFX-Skript-Befehl “Update” und entsprechende Optionen im Reiter “Update” des Dialogs “Erweiterte SFX-Optionen”. Der Befehl und die Optionen ermöglichen eine Überprüfung der Dateizeiten beim Entpacken und damit das Erneuern von Dateien anhand der Dateizeiten.

10. Beim SFX-Skript-Befehl “Shortcut” und dem Befehl “Verknüpfung hinzufügen…” im Dialog “Erweiterte SFX-Optionen – Erweitert” kann nun eine Icon-Datei angegeben werden, die das Icon enthält, das für die Verknüpfung verwendet werden soll.

11. Die neue Option “Temporäre Dateien sicher löschen” im Dialog “Einstellungen – Sicherheit” aktiviert eine sicherere aber langsamere Methode zum Löschen von temporären WinRAR-Dateien.

12. WinRAR und RAR zeigen nun beim Entpacken eines mehrteiligen Archivs den Gesamtfortschritt an, wenn sich die einzelnen Teilarchive (Volumen) im selben Ordner befinden.

13. WinRAR und RAR werten in Dateien, die eine Liste von Dateinamen enthalten, die darin verwendeten Umgebungsvariablen aus. Zum Beispiel können in einer Listendatei folgende Zeilen enthalten sein:

%windir%\*.exe
%USERPROFILE%\Desktop

Diese Funktionalität ist nur in der RAR-Version für Windows verfügbar.

14. Unterstützung für TAR-Archive mit Daten ungleich Null im “Extra Field” hinzugefügt.

15. Unterstützung für TAR-Archive hinzugefügt, die den aus 512 Null-Bytes bestehenden Eintrag für das Ende des Archivs nicht enthalten.

16. Verbesserte Unicode-Unterstützung beim Drag & drop von Dateien aus dem WinRAR-Fenster.

17. Die Tastenkombination Umschalt+Tab kann im Hauptfenster von WinRAR für das Umschalten des Eingabefocus’ zwischen den Oberflächenelementen (Dateien, Kommentar, Baum, Adresse) in umgekehrter Reihenfolge verwendet werden. In vorherigen Versionen wurde bei Umschalt+Tab die gleiche Reihenfolge wie bei Tab verwendet.

18. Ein möglicher Absturz von WinRAR beim Öffnen von abgeschnittenen UDF-ISO-Dateien wurde behoben.

Um nochmal an die Möglichkeiten zu erinnen, die WinRAR bietet, folgt hier jetzt eine kleine Einführung in die Backup-Funktionen von WinRAR. Die meisten werden sicherlich bewhaupten, das sie einem USB-Stick nicht vertrauen. Weil den könnte man ja verlieren oder er geht wirklich kaputt. Für diese Art von Notfällen habe ich einen ausgeklügelten Plan. Und zwar habe ich auf meinem USB-Stick mehrere Verknüpfungen angelegt, die dafür zuständig sind, sämmtliche Dateien und Ordner zu sichern. Da die Laufwerksbuchstaben ja von Computer zu Computer verschieden sind, sieht das nun so bei mir aus.

So schaut das momentan auf meinem USB-Stick aus. Dort habe ich für die am häufigsten benutzten Laufwerksbuchstaben auf denen ich meine Backups sichere schon vorgefertigte Verknüpfungen. Mehr als Password Safe, WinRAR und TrueCrypt brauche ich auf meinem USB-Stick zur Zeit nicht. :-)

USB-Stick - Vorschau

Eine dieser Verknüpfung möchte ich jetzt hier mal zeigen.

“C:\Program Files\WinRAR\WinRAR.exe” a -r -av -k -agYYYYMMDDhhmmss -hpGEHEIMESPASSWORT -m0 C:\backup-usbstick.rar *.*

Damit macht WinRAR ein Komplett-Backup des USB-Sticks, welches mit *.* alles einfängt, was sich an Dateien und Ordnern auf dem USB-Stick rum treibt, und diese erstellte WinRAR Datei dann auf dem Datenträger C:\ ablegt. Am Dateinamen wird zusätzlich noch das Datum und die Uhrzeit angehängt. Ausserdem wird das WinRAR-Archiv mit einem Passwort verschlüsselt. Somit kann nur die Datei öffnen, der das Passwort hat. Dies soll einfach nur verhindern, das eine bereits gelöschte Datei wiederhergestellt werden kann, sofern man das Backup auf einem fremden Rechner ablegen muss.

Jetzt werden viele den Finger heben und behaupten, das das ja nicht sicher sein kann, wenn man schon das Passwort für das WinRAR-Backup-Archiv auf dem USB-Stick speichert. Nunja. Zum einen gehts nicht anders und zum anderen enthält der USB-Stick die Backup-Datei selbst ja auch gar nicht. Ausserdem ist auf dem USB-Stick der Inhalt ja so oder so zu sehen. Egal ob ich jetzt ein Passwort für das WinRAR-Archiv verwende oder nicht. Von daher ist das egal. Solange derjenige der den USB-Stick hat nicht weiss wo ich meine Backup-Dateien sichere. Und das werde ich an dieser Stelle bestimmt nicht verraten. ;)

Achja. Dank dieser Backup-Funktion konnte ich bisher schon mehrere male auf ein Backup zurückgreifen, da bei mir bisher 4 USB-Sticks den Dienst einfach so eingestellt haben. Ein Backup erstelle ich immer dann, bevor ich den Stick vom Computer abziehe. :-)

winrar.de/index.php + rarlab.com

//Nachtrag: winrar.de ist ein bisschen lahm was das neuste Update angeht. Daher solltet ihr auf rarlab.com wechseln. Da gibts die deutsche Version auch. Oder auch bei mir im temp-Ordner. ;)

//Nachtrag 2: Seit heute, Montag, den 6.10. 2008 ist eine neue Website unter winrar.de zu finden. Daher hats was länger gedauert. :)

WordPress Problem gelöst

Der eine oder andere hat es sicher gemerktr. Mein Blog war von gestern abend bis heute Mittag im Wartungsmodus. Das lag daran, das ich selbst als Blog-Admin keine Rechte mehr hatte, die Seiten zu bearbeiten, die ich hier erstellt habe. Z.B. die Seite Über Hollii.

Ich habs nach mühevoller Suche rausgefunden, wo das Problem lag.

Ich habe mir zuerst via Phpmyadmin angeschaut, wann ich zuletzt eine Seite bearbeitet habe. Das kann man ja in der Tabelle wp_posts sehen. Nur nach der Post-ID der Seite suchen und schauen wann die zuletzt bearbeitet wurde. Dann das Backups raussuchen, das de Datum am nächsten kommt. Dieses Backup dann mit den neusten Backup vergleichen. In meinem Fall war das ein Backup vom 8.8.2008. Nun hab ich zuerst die wp_options durchgegeckt…

Dort ist gestern abend folgender Eintrag vorhanden gewesen:

INSERT INTO `wp_options` (`option_id`,`blog_id`,`option_name`,`option_value `,`autoload`) VALUES (‘8528′,’0′,’wp_user_roles’,'a:5:{s:13:\”admin istrator\”;a:2:{s:4:\”name\”;s:23:\”Administrator| User role\”;s:12:\”capabilities\”;a:30:{s:13:\”switch_t hemes\”;b:1;s:11:\”edit_themes\”;b:1;s:16:\”activa te_plugins\”;b:1;s:12:\”edit_plugins\”;b:1;s:10:\” edit_users\”;b:1;s:10:\”edit_files\”;b:1;s:14:\”ma nage_options\”;b:1;s:17:\”moderate_comments\”;b:1; s:17:\”manage_categories\”;b:1;s:12:\”manage_links \”;b:1;s:12:\”upload_files\”;b:1;s:6:\”import\”;b: 1;s:15:\”unfiltered_html\”;b:1;s:10:\”edit_posts\” ;b:1;s:17:\”edit_others_posts\”;b:1;s:20:\”edit_pu blished_posts\”;b:1;s:13:\”publish_posts\”;b:1;s:1 0:\”edit_pages\”;b:1;s:4:\”read\”;b:1;s:8:\”level_ 10\”;b:1;s:7:\”level_9\”;b:1;s:7:\”level_8\”;b:1;s :7:\”level_7\”;b:1;s:7:\”level_6\”;b:1;s:7:\”level _5\”;b:1;s:7:\”level_4\”;b:1;s:7:\”level_3\”;b:1;s :7:\”level_2\”;b:1;s:7:\”level_1\”;b:1;s:7:\”level _0\”;b:1;}}s:6:\”editor\”;a:2:{s:4:\”name\”;s:16:\ “Editor|User role\”;s:12:\”capabilities\”;a:19:{s:17:\”moderate _comments\”;b:1;s:17:\”manage_categories\”;b:1;s:1 2:\”manage_links\”;b:1;s:12:\”upload_files\”;b:1;s :15:\”unfiltered_html\”;b:1;s:10:\”edit_posts\”;b: 1;s:17:\”edit_others_posts\”;b:1;s:20:\”edit_publi shed_posts\”;b:1;s:13:\”publish_posts\”;b:1;s:10:\ “edit_pages\”;b:1;s:4:\”read\”;b:1;s:7:\”level_7\” ;b:1;s:7:\”level_6\”;b:1;s:7:\”level_5\”;b:1;s:7:\ “level_4\”;b:1;s:7:\”level_3\”;b:1;s:7:\”level_2\” ;b:1;s:7:\”level_1\”;b:1;s:7:\”level_0\”;b:1;}}s:6 :\”author\”;a:2:{s:4:\”name\”;s:16:\”Author|User role\”;s:12:\”capabilities\”;a:8:{s:12:\”upload_fi les\”;b:1;s:10:\”edit_posts\”;b:1;s:20:\”edit_publ ished_posts\”;b:1;s:13:\”publish_posts\”;b:1;s:4:\ “read\”;b:1;s:7:\”level_2\”;b:1;s:7:\”level_1\”;b: 1;s:7:\”level_0\”;b:1;}}s:11:\”contributor\”;a:2:{ s:4:\”name\”;s:21:\”Contributor|User role\”;s:12:\”capabilities\”;a:4:{s:10:\”edit_post s\”;b:1;s:4:\”read\”;b:1;s:7:\”level_1\”;b:1;s:7:\ “level_0\”;b:1;}}s:10:\”subscriber\”;a:2:{s:4:\”na me\”;s:20:\”Subscriber|User role\”;s:12:\”capabilities\”;a:2:{s:4:\”read\”;b:1 ;s:7:\”level_0\”;b:1;}}}’,'yes’);

Der Eintrag vom 8.8. aber lautet so:

INSERT INTO `wp_options` (`option_id`,`blog_id`,`option_name`,`option_value `,`autoload`) VALUES (‘93′,’0′,’wp_user_roles’,'a:6:{s:13:\”adminis trator\”;a:2:{s:4:\”name\”;s:13:\”Administrator\”; s:12:\”capabilities\”;a:53:{s:13:\”switch_themes\” ;b:1;s:11:\”edit_themes\”;b:1;s:16:\”activate_plug ins\”;b:1;s:12:\”edit_plugins\”;b:1;s:10:\”edit_us ers\”;b:1;s:10:\”edit_files\”;b:1;s:14:\”manage_op tions\”;b:1;s:17:\”moderate_comments\”;b:1;s:17:\” manage_categories\”;b:1;s:12:\”manage_links\”;b:1; s:12:\”upload_files\”;b:1;s:6:\”import\”;b:1;s:15: \”unfiltered_html\”;b:1;s:10:\”edit_posts\”;b:1;s: 17:\”edit_others_posts\”;b:1;s:20:\”edit_published _posts\”;b:1;s:13:\”publish_posts\”;b:1;s:10:\”edi t_pages\”;b:1;s:4:\”read\”;b:1;s:8:\”level_10\”;b: 1;s:7:\”level_9\”;b:1;s:7:\”level_8\”;b:1;s:7:\”le vel_7\”;b:1;s:7:\”level_6\”;b:1;s:7:\”level_5\”;b: 1;s:7:\”level_4\”;b:1;s:7:\”level_3\”;b:1;s:7:\”le vel_2\”;b:1;s:7:\”level_1\”;b:1;s:7:\”level_0\”;b: 1;s:15:\”premium_content\”;b:1;s:17:\”edit_others_ pages\”;b:1;s:20:\”edit_published_pages\”;b:1;s:13 :\”publish_pages\”;b:1;s:12:\”delete_pages\”;b:1;s :19:\”delete_others_pages\”;b:1;s:22:\”delete_publ ished_pages\”;b:1;s:12:\”delete_posts\”;b:1;s:19:\ “delete_others_posts\”;b:1;s:22:\”delete_published _posts\”;b:1;s:20:\”delete_private_posts\”;b:1;s:1 8:\”edit_private_posts\”;b:1;s:18:\”read_private_p osts\”;b:1;s:20:\”delete_private_pages\”;b:1;s:18: \”edit_private_pages\”;b:1;s:18:\”read_private_pag es\”;b:1;s:12:\”delete_users\”;b:1;s:12:\”create_u sers\”;b:1;s:17:\”unfiltered_upload\”;b:1;s:14:\”e dit_dashboard\”;b:1;s:12:\”DebugQueries\”;b:1;s:14 :\”update_plugins\”;b:1;s:14:\”delete_plugins\”;b: 1;}}s:6:\”editor\”;a:2:{s:4:\”name\”;s:6:\”Editor\ “;s:12:\”capabilities\”;a:34:{s:17:\”moderate_comm ents\”;b:1;s:17:\”manage_categories\”;b:1;s:12:\”m anage_links\”;b:1;s:12:\”upload_files\”;b:1;s:15:\ “unfiltered_html\”;b:1;s:10:\”edit_posts\”;b:1;s:1 7:\”edit_others_posts\”;b:1;s:20:\”edit_published_ posts\”;b:1;s:13:\”publish_posts\”;b:1;s:10:\”edit _pages\”;b:1;s:4:\”read\”;b:1;s:7:\”level_7\”;b:1; s:7:\”level_6\”;b:1;s:7:\”level_5\”;b:1;s:7:\”leve l_4\”;b:1;s:7:\”level_3\”;b:1;s:7:\”level_2\”;b:1; s:7:\”level_1\”;b:1;s:7:\”level_0\”;b:1;s:17:\”edi t_others_pages\”;b:1;s:20:\”edit_published_pages\” ;b:1;s:13:\”publish_pages\”;b:1;s:12:\”delete_page s\”;b:1;s:19:\”delete_others_pages\”;b:1;s:22:\”de lete_published_pages\”;b:1;s:12:\”delete_posts\”;b :1;s:19:\”delete_others_posts\”;b:1;s:22:\”delete_ published_posts\”;b:1;s:20:\”delete_private_posts\ “;b:1;s:18:\”edit_private_posts\”;b:1;s:18:\”read_ private_posts\”;b:1;s:20:\”delete_private_pages\”; b:1;s:18:\”edit_private_pages\”;b:1;s:18:\”read_pr ivate_pages\”;b:1;}}s:6:\”author\”;a:2:{s:4:\”name \”;s:6:\”Author\”;s:12:\”capabilities\”;a:10:{s:12 :\”upload_files\”;b:1;s:10:\”edit_posts\”;b:1;s:20 :\”edit_published_posts\”;b:1;s:13:\”publish_posts \”;b:1;s:4:\”read\”;b:1;s:7:\”level_2\”;b:1;s:7:\” level_1\”;b:1;s:7:\”level_0\”;b:1;s:12:\”delete_po sts\”;b:1;s:22:\”delete_published_posts\”;b:1;}}s: 11:\”contributor\”;a:2:{s:4:\”name\”;s:11:\”Contri butor\”;s:12:\”capabilities\”;a:5:{s:10:\”edit_pos ts\”;b:1;s:4:\”read\”;b:1;s:7:\”level_1\”;b:1;s:7: \”level_0\”;b:1;s:12:\”delete_posts\”;b:1;}}s:10:\ “subscriber\”;a:2:{s:4:\”name\”;s:10:\”Subscriber\ “;s:12:\”capabilities\”;a:2:{s:4:\”read\”;b:1;s:7: \”level_0\”;b:1;}}s:18:\”premium_subscriber\”;a:2: {s:4:\”name\”;s:18:\”Premium Subscriber\”;s:12:\”capabilities\”;a:2:{s:15:\”pre mium_content\”;b:1;s:4:\”read\”;b:1;}}}’,'yes’);

Hab dann dieses Query ausgeführt nachdem ich den anderen Eintrag gelöscht habe. Und zack hab ich wieder alle Rechte.

Dafür habe ich zum einen den Wartungsmodus von Frank benutzt und zum anderen WinMerge. :)

MySQLDumper – /tmp

Ich benutze wie einige vielleicht schon wissen ja den MySQLDumper. Für Datenbank-Backups, für einen flüchtigen Blick in einer meiner Datenbanken (nur kucken – nix anfassen) und natürlich auch für die Wiederherstellung einer Datenbank, sofern man mal ein Problem mit einer Datenbank hat z.B. bei einem Update von WordPress… ;-)

Nun sichere ich meist täglich sämtliche MySQL-Datenbanken um einen möglichen Datenverlust vorzubeugen. Denn wöchentliche Backups sind mir zu wenig. Denn wenn man wie ich schon mal in der Situation war, auf ein Backup zurückgreifen zu müssen, dann werden die Abstände zwischen den Backups automatisch immer kürzer. :-D

Jetzt zum Problem. Da ich ja einen eigenen Server habe, sprich ich habe den voll root-Zugriff auf die Maschine. Wenn ich den MySQL Dumper (die Startseite) aufrufe, werden im Ordner /tmp/ direkt schon mal 2 Dateien angelegt.

sess_a959487630122196cb909c6076d81e3e
config_file|s:11:”mysqldumper”;

sess_94d69827ed2ff09002bd4380b719cea5
config_file|s:11:”mysqldumper”;

Das klingt nicht weiter spannend, oder? Noch nicht! Es sind ja erst 2. Wenn ich jetzt ein Multidump von 4 Datenbanken fahre, sieht es nach dem Backup so im /tmp/-Ordner aus.

WinSCP - Ordner /tmp/ - Vorschau

Diese 660 Dateien sind zwar nur 20 20.000 Bytes, aber das ist ja auch nur ein einmaliger Durchlauf. Aufgefallen ist mir war mir das vor etlichen Monaten schonmal. Nur wusste nicht wo es herkommt. Bis ich jetzt zufällig in den /tmp/-Ordner reingeschaut habe, während sich der MySQL Dumper durch die Datenbanken arbeitete… Ich sah 1.303.488 Dateien, die zusammen fast 40 MB belegt haben. An Hand des Zeitstempels konnte ich über Monate hinweg zurück verfolgen, wann ich zu welcher Zeit ein Backup gemacht habe und wie oft…

Liebes MySQL-Dumper Team, oder war das nur einer Egal. Ich hab zuerst überlegt, ob ich euch das per Mail schicken soll. Ich habe mich dann aber entschieden es zu bloggen. Weil is ja schon ein besonderes Erlebnis, wenn man mal eben 1,3 Millionen Dateien löscht. :shock: :-D Jedenfalls solltet ihr den Bug fixen. :-D Oder liegt das eher an meiner Konfiguration? :gruebel:

So sieht das übrigens aus, wenn ich mit dem MySQLDumper ein Backup vom 5-Finger-Blog erstelle. Wohlgemerkt in Kurzfassung.
- Backup erstellen
- Backup wird erstellt
- Backup ist fertig. :-)

http://hollii.de/temp/mysqldumper_5fingerbloga.jpg
http://hollii.de/temp/mysqldumper_5fingerblogb.jpg
http://hollii.de/temp/mysqldumper_5fingerblogc.jpg

www.mysqldumper.de

Grundlegendes

Auf Grund der Tatsache, das ich vor einigen Wochen sehr viele MySQL-Datenbank-Backups downloaden hätte können, die ich zufällig via Google-Suche gefunden hatte, habe ich mir gedacht, ich erstelle mal einen Leitfaden, was das Thema Website / Homepage / Blog / Forum / Gästebuch angeht. Oder was auch immer du für eine Seite ins Netz stellst. Es gibt Dinge, die sollten einfach nicht vergessen werden! Hier werde ich jetzt hoffentlich alle aufführen, die zum sicheren Betrieb einer Website wichtig sind. Unbedingt wichtig sind! Ich erkläre das natürlich an Hand meiner Website, bzw. meines Blogs.

Anmerkung: Es heisst Website und nicht Homepage. Warum? Weil die Homepage lediglich die Startseite / Homeseite einer Website ist. Am Beispiel meiner eigenen Domain gibts sozusagen 2x die “Homepage”. Und zwar einmal die Startseite selbst sehe ich als Homepage an und zum anderen die erste Seite des 5-Finger-Blog, die gleichzeitig alle jemals geschriebenen Artikel auflistet. Auf der ersten Seite sind die letzten 10 Blog-Einträge zu sehen, die hier veröffentlicht wurden. Somit sollte nur wirklich jeder wissen, der diesen Beitrag hier liest, das es eine Homepage eine Webseite und keine Website ist. Denn eine Website ist ja das gesamte Angebot an Webseiten unterhalb einer Domain. Mehr dazu in der Wikipedia.

Nun aber los. Zur Information: Diesen Beitrag schreibe ich aus dem Kopf. Ich habe mich hingesetzt und einfach angefangen. Ich habe während dessen weder Suchmaschinen benutzt noch bei mir in irgendwelchen Dateien nachgeschlagen. Es könnten sich also Fehler eingeschlichen haben. Natürlich werde ich das vor dem veröffentlichen noch durchchecken, ob ich nichts vergessen habe, so das das letztendlich eine umfangreiche Liste zusammen kommen sollte.

Fangen wir also mal bei null an. Du hast eine Domain registriert und Webspace gemietet. Nun möchtest du z.B. einen Blog installieren. Bevor du anfängst, überlegst du dir, wie du die Ordnerstruktur haben möchtest. Das sind nämlich Dinge, die man nach Möglichkeit nicht alle paar Tage ändern sollte. Denn sonst findet man deine Seite über eine Suchmaschine und dann gibts diese Seite, die in der Suchmaschine verlinkt ist, gar nicht mehr. Erst wenn du einen Plan hast, dann erst fängst du an die Ordner auf dem Webspace zu erstellen. Am Beispiel meiner Domain habe ich mehrere Ordner erstellt. Einen für die Fehlerseiten (/error/), einen für Bilder und Dateien (/temp/), die ich im Web und hier im Blog verlinkt sind und dann natürlich den Ordner vom Blog selbst (/blog/). Nachdem du diese erstellt hast, wird im nächsten Schritt direkt eine Datei mit dem Namen robots.txt angelegt. Das ist nämlich fast immer die erste Datei, die der Bot/Robot einer Suchmaschine aufrufen wird. Warum? Weil man mit dieser Datei der Suchmaschine mitteilen kann, welche Ordner nicht in die Suchmaschinen aufgenommen werden dürfen. Desweiteren kann man sogar für jede Suchmaschine andere Regeln für ein und den selben Ordner definieren. Ich habe in meiner robots.txt über 300 User-Agents gesperrt. Der Begriff User-Agent ist vergleichbar mit einem Auto-Kennzeichen. Man kann also am User-Agent in der Regel erkennen, wer oder was dahinter steckt. Das man den User-Agent fälschen kann, sollte somit jedem klar sein. Wenn man den User-Agent kennt, kann man diesen in der robots.txt angeben und diesem dann sagen, welche Ordner tabu sind. Damit aber niemand eventuelle geheime Ordner auf diese Weise findet, gibt man nicht den kompletten Namen an, sondern nur einen Teil des Namens. Wenn jetzt der Super-geheime Ordner /geheim-ordner/ heisst, dann reicht es aus, in der robots.txt Disallow: /geheim anzugeben. Das verbietet dann sowohl den Ordner /geheim-ordner/ als auch eventuelle Dateien die mit geheim anfangen, wie z.B. geheim.html. Verstanden? Ich denke ja. Wenn nicht, stelle deine Frage in den Kommentaren.

Die Datei robots.txt gehört in das Hauptverzeichnis der Domain. So wie es bei mir auch ist. In anderen Ordnern wird danach nicht gesucht. Somit ist die robots.txt bei mir immer hier zu finden.

http://hollii.de/robots.txt

Nun musst du überlegen, welche Ordner, bzw. dessen Inhalte auf gar keinen Fall in Suchmaschinen auftauchen sollen. Bei mir sieht das momentan so aus. Und zwar nehme ich jetzt nur “normalen” Regeln aus der robots.txt. Die über 300 User-Agents am Anfang lasse ich jetzt mal weg. Das sind jedenfalls alles Seiten und oder Dienste, bei denen ich nicht einverstanden bin, das die bei mir rumschnüffeln. Gut, ich gebe zu, einige sind überflüssig, weil sich die betreffenden eh nicht dran halten, aber versuchen muss ich es schon. ;-) Daher trage ich da alle ein, die mir nicht passen. Genug zu denen. Jetzt zu Abacho, Googlebot, msnbot, Slurp (Yahoo), Teoma (Ask), Twicler und allen anderen, die nicht aufgeführt sind und mit dem * angesprochen werden.

User-agent: Abacho
User-agent: Googlebot
User-agent: msnbot
User-agent: Slurp
User-agent: Teoma
User-agent: Twiceler
User-agent: *
Disallow: /*/trackback
Disallow: /backups/
Disallow: /blog/feed
Disallow: /blog/page-imprint
Disallow: /blog/page-mail
Disallow: /blog/page-messenger
Disallow: /blog/wp-admin/
Disallow: /blog/wp-content/
Disallow: /blog/wp-includes/
Disallow: /blog/wp-app.php
Disallow: /blog/wp-atom.php
Disallow: /blog/wp-blog-header.php
Disallow: /blog/wp-comments-post.php
Disallow: /blog/wp-commentsrss2.php
Disallow: /blog/wp-config.php
Disallow: /blog/wp-cron.php
Disallow: /blog/wp-feed.php
Disallow: /blog/wp-links-opml.php
Disallow: /blog/wp-load.php
Disallow: /blog/wp-login.php
Disallow: /blog/wp-mail.php
Disallow: /blog/wp-pass.php
Disallow: /blog/wp-rdf.php
Disallow: /blog/wp-register.php
Disallow: /blog/wp-rss.php
Disallow: /blog/wp-rss2.php
Disallow: /blog/wp-settings.php
Disallow: /blog/wp-trackback.php
Disallow: /blog/xmlrpc.php
Disallow: /cgi-bin/
Disallow: /data/
Disallow: /file
Disallow: /goto
Disallow: /podcast/
Disallow: /robots.txt
Disallow: /stati
Disallow: /temp/firefox_erweiterungen/infolister_archiv/
Disallow: /temp/javascript-spielereien/
Disallow: /temp/miranda_version/archiv/
Disallow: /temp/programme/
Disallow: /temp/quarantaene/
Disallow: /temp/radio/
Disallow: /temp/scrapbook_
Disallow: /temp/spam/
Disallow: /temp/upl/

Du siehst nun welche Ordner bzw. Dateien bei mir von den Suchmaschinen igoniert werden sollen. Um auch hier ein Beispiel zu geben. Disallow: /blog/kategorie sperrt die Kategorien für Suchmaschinen. Das ist der Name, den man im Wp-Admin von WordPress für die Kategorien vergeben wurde. Natürlich sollte auch die robots.txt selbst gesperrt werden. Denn meine robots.txt war mal über Google zu finden. ;-) Um nun sicher zu stellen, das die Inhalte in diesen Ordner auch wirklich nicht gefunden werden, sollte man so gut es geht, das Verzeichnislisting zu deaktivieren. Sollte also ein Besucher oder ein Bot/Robot den Ordner aufrufen, sollte nicht zu sehen sen was drin ist. Das kann man auf verschiedenen Wegen realisieren. Die einen legen einfach eine leere Datei (meist index.html) in die Ordner rein. Somit sieht man nur eine weisse Seite. Andere benutzen dazu die Datei .htaccess – denn mit der kann die Ordner richtig schön konfigurieren.

Hier auch mal ein Sccreenshot von meinen Ordnern.. Ich glaube so können einige den Zusammenhang zwischen den Ordnern und dem was in meiner robots.txt steht eher verstehen. Hoffe ich jedenfalls. Denn so siehst du die Ordner wie sie bei mir sind. Nebenbei kann man am Dateidatum der Datei /h75.gif erkennen, seit wann es mein Auge im Internet gibt. :-D

WinSCP Hollii.de - Vorschau

Sofern als Webserver (http) der Apache genutzt wird, reicht in der Regel ein:

Options -indexes

in der .htaccess aus, um die Anzeige der Ordner-Inhalte zu verhindern.

Natürlich kann man hier auch noch weiter gehen, in dem man verschiedene Dateiendungen grundsätzlich nicht anzeigen lässt. Dazu trägt man in der .htaccess im Hauptverzeichnis der Domain dann folgendes ein, um z.B. MySQL-Datenbank-Backups unsichtbar zu machen, die meistens als dateiname.sql oder dateiname.sql.gz in einem Ordner unterhalb der Domain abgelegt werden.

IndexIgnore *.sql *.sql.gz

Sofern man einen Ordner komplett für den Zugriff via Browser sperren möchte, weil er z.b. für Backups genutzt wird, dann sollte man diesen so sichern. Wieder kommt die .htaccess zum Zug. Inhalt:

deny from all

Somit lässt sich weder der Ordner aufrufen/anschauen, noch deren Inhalte. Am Beispiel meiner Domain ist da der Ordner /backups/ zu nennen, in dem ich schon mal Backups speichere. ;-)

http://hollii.de/backups/

Natürlich gibt es noch weitere Möglichkeiten, aber ich möchte es ja auch nicht übertreiben. Das ist eigentlich schon das wichtigste in Bezug auf Ordner und Dateien, die nicht für die Öffentlichkeit bestimmt sind. Am besten ist es natürlich, die Backups nicht im Web zu speichern sondern unterhalb der öffentlichen Ordner, was eigentlich unterhalb jeder Domain möglich sein sollte. Bei mir sieht das ja so aus:

/home/hollii_de/www/ – das ist der Ordner mit der Startseite
/home/hollii_de/www/backups/ – hier landen schon mal Backups
/home/hollii_de/www/blog/ – hier liegt der Blog
/home/hollii_de/www/temp/ – hier liegen Bilder usw.

Allerdings hab ich das Archiv für meine Backups hier liegen, genauso wie die Homeverzeichnisse der Benutzer:

/home/hollii_de/mysqldumper-backups/
/home/hollii_de/benutzername/

Diese sind also nicht über den Webbrowser erreichbar. Aber natürlich via FTP / S-FTP / SCP. Sofern man die Zugangsdaten zum Server kennt.

Ich denke das sollte erst mal reichen oder? Das wichtigste in Bezug auf die robots.txt und die .htaccess habe ich angesprochen um Ordner vor Suchmaschinen zu verbergen, bzw. diese daran zu hindern, die Inhalte in die Suchmaschinen aufzunehmen.

Zum Schluss möchte ich noch die über 300 User-Agents ansprechen, die bei mir in der robots.txt stehen. Das sind alles User-Agents, die ich im Laufe der Jahre entdeckt habe. Ich habe diese Liste also selbst erstellt. :-) Du kannst diese gerne übernehmen. Erklären kann ich aber nicht alle. Um aber mal ein Beispiel zu geben, was ich damit verhindern kann, wenn ich möchte. Jeder kennt www.archive.org das sogenannte Internet-Archiv. Da ich schon seit Jahren den folgenden Eintrag in der robots.txt habe, sind von mir keinerlei Internetseiten zu finden. :-)

User-agent: ia_archiver
Disallow: /

http://web.archive.org/web/*/http://hollii.de/

Das ist nur ein Beispiel von vielen. Alles in allem sind das alles ähnliche Dienste, die ich so versuche zu blocken. Was mir bisher ja auch gelungen ist. :-D

Noch Fragen? Dann stell sie einfach in den Kommentaren oder schreibe mir ne E-mail.

MySQL-Datenbankbackups

Ich bin gerade dabei, etwa 50 Leute zu informieren, deren MySQL-Datenbankbackups ich über die Google Suche gefunden habe… Jetzt weiss ich auch, warum die Angabe einer Handynummer sinnvoll ist. Nur nützt das nichts, wenn man sein Handy samt Handynummer verkauft oder man Just4Fun ne falsche Nummer angibt. So wie ich das jetzt gerade mehrfach feststellen musste.

Mehr Details dann etwas später, wenn die Backups alle gelöscht wurden. Denn es sind sogar TopBlogs aus Deutschland darunter! Und ich kann schön alle Daten einsehen. E-mail Adressen, IP-Adressen, unveröffentlichte Beiträge, Benutzernamen, Passwörter, usw… Einfach alles was man in einer MySQL-Datenbank speichern kann.

Es sind zum grössten Teil WordPress-Datenbankbackups….

//Nachtrag: So, die meisten konnte ich informieren. Allerdings verstehen einige nicht auf Anhieb, was ich genau meine… :-o

und wenn mich bis jetzt niemand gehackt-gecrackt – oder wie auch immer man das nennt – hat … dann bestimmt (hoffentlich) auch nicht bis morgen früh.

Aber ich erkläre das gerne auch ausführlich. :-)

Und solche Aussagen mag ich auch nicht wirklich: :eek:

ich habe deine Nachricht gerade in meinem Spamordner gefunden.