Data-URLs in Websites – Bilder in einer Website einbetten

Webseiten werden in mehreren Requests vom Server abgeholt. Zuerst kommt die HTML-Seite. In der steht dann, das eine style.css, Java Script und ein Haufen Bilder nachgeladen werden sollen. Jede weitere Datei stellt einen weiteren Request dar. Jedes mal diesen Request neu aufbauen dauert natürlich Zeit – auch wenn Browser mehrere Anfragen parallel steuert (ungefähr 8) dauert es doch einiges an Zeit, bis alle Bilder auf großen Seiten heruntergeladen worden sind.
Um das zu ändern, habe ich einen Weg gesucht, alles in einer einzelnen Datei – also einer einzigen Anfrage an den Server – auszuliefern.
Am idealsten währe wohl das Verfahren bei E-Mails gewesen, das unterstützen Browser jedoch (noch) nicht.

Data-URLs in Websites – Bilder in einer Website einbetten weiterlesen

Installationsdatum eines Linux Systems

So verwunderlich es auch ist, unter Linux gibt es keinen Befehl, der das Installationsdatum zurück liefert.
Jedoch kann man das Installationsdatum über einen kleinen Trick heraus bekommen. Die Devices werden bei der Installation erstellt und dann in der Regel nicht mehr geändert. Somit trägt das Device das Datum der Installation.
Eigentlich reicht schon ein „ls -l /dev | grep zero“ da das Device zero in der Regel nicht geändert wird. Da die Ausgabe aber ein wenig unschön ist, sortiert man einfach nach Datum, gibt nur eine Zeile aus und lässt die mit awk noch ein wenig schöner aussehen.

[code=“bash'“““““]ls -l –sort=t /dev | tail -n1 | awk ‚{print $8 „-“ $7 „-“ $9}'[/code]

Manchmal kann es vorkommen, das der Befehl nicht funktioniert. In diesem Fall kann dieser Befehl verwendet werden:

[code=“bash'“““““]ls -l –sort=t /dev | tail -n1 | awk ‚{print $7 „-“ $6 „-“ $8}'[/code]

Was wird im einzelnen gemacht?

Mit ls -l –sort=t /dev wird der Inhalt des Verzeichnisses /dev nach Datum sortiert ausgegeben.
Mit tail -n1 wird die Ausgabe auf die letzte Zeile beschränkt (das älteste Datum).
Mit awk ‚{print $7 „-“ $6 „-“ $8}‘ wird die Ausgabe auf das Datum beschränkt.
Es resultiert:

[code=“bash““““]linux:~# ls -l –sort=t /dev | tail -n1 | awk ‚{print $8 „-“ $7 „-“ $9}‘
30-Jun-2004[/code]

fail2ban – ein kleines howto

Was ist fail2ban?

fail2ban ist ein kleines Tool, welches unter Linux Logs durchsucht und bei bestimmten Inhalten entsprechende Aktionen ausführen kann. Es kann z.B.  Spambots und Vulnerability Scanner dynamisch erkennen und aussperren. Das bringt einige Vorteile mit sich:

  • Logs können daran gehindert werden, durch Attacken Speicherplatz zu fressen bis keiner mehr da ist (denn dann wird es erst richtig lustig)
  • ScriptKidis können sich schön herrlich die Milchzähne an dem Server ausbeißen
  • Bots, die nach bekannten Sicherheitslücken suchen können mittels fail2ban leicht gesperrt werden.
  • Brutefoce-Attacken können leicht und automatisch geblockt werden.

fail2ban – ein kleines howto weiterlesen

Linux Befehl: watch

Mit watch unter Linux ist es möglich Programme regelmäßig auszuführen. So kann ein User ständig ändernde Informationen bequem abfragen und auf dem Bildschirm anzeigen.

Parameter

[code=““““““““]-n Interval (Standart: 2 Sekunden)
-d Zeigt Unterschiede zu dem letztem Ergebnis an[/code]

Anwendung

[code=““““““]watch [-n Sekunden] [-d –differences] [–version] [/code]

Beispiele

Überprüfe alle 60 Sekunden ob eine neue Email eingegangen ist

[code=““““““““]watch -n 60 from[/code]

Zeige Änderungen in einem Ordner an

watch -d „ls -l“[/code]

Zeige alle Dateien vom User Joy an und aktualisiere alle 10 Sekunden

[code=““““““““]watch -n 10 -d „ls -l | fgrep joy“[/code]

Installation

Unter Debian (und den meisten Derivaten) sollte watch bei einer Standartinstallation bereits installiert sein.
Sollte das einmal nicht der fall sein, reicht es, das Paket nachzuinstallieren.

[code=““““““““]apt-get install watch[/code]

PHP: UTF-8 und header()

[code=““““]Warning: Cannot modify header information – headers already sent by (output started at index.php:1) in index.php on line 13[/code]

Diese Fehlermeldung zeigt sich, wenn man eine in UTF-8 konvertierte PHP Datei hat und mit der Funktion header() selbigen Ändern möchte.
Das Problem entsteht, wenn ein BOM (Byte Order Mask) am Anfang der Datei steht. In Editoren, die UTF-8 nicht unterstützen erscheint dann zum Beispiel ein „“ (entspricht Bytefolge: EF BB BF).
Der PHP-Parser kann diese Bytefolge nicht interpretieren und gibt sie schlichtweg aus bevor auch nur irgend etwas anderes ausgegeben werden kann.
Da in UTF-8 dieser BOM zwar erlaubt, aber nicht nötig ist kann man ihn einfach entfernen. Ermöglichen tut das zum Beispiel Notepad++ ([Format]->[Formatieren zu UTF-8 ohne BOM]).
Mit PHP ab Version 6 soll dieses „Problem“ gelöst werden.
Mehr zum Thema Byte Order Mask.

Linux Befehl „at“ – Eine einfache Zeitsteuerung

Dieser Artikel wird demnächst überarbeitet. Ziel ist es einen genaueren Einblick über den Befehl zu zeigen und näher an dem englischem Manual zu bleiben!
Man will einen Befehl nur mal eben eine halbe Stunde später ausführen? Oder Morgen früh soll extra ein Backup gefahren werden und ein CronJob ist viel zu aufwendig?
Wie man es gewohnt ist, gibt es auch hier etwas für Linux: at.

Linux Befehl „at“ – Eine einfache Zeitsteuerung weiterlesen