Wordpress: Performance verbessern

Wordpress auf einfache weiße schneller machenMit steigenden Features und steigender Anzahl an Addons und Plugins sinkt leider die Performance eines jeden Scripts.

Auch die bekannte Bloggingsoftware Wordpress enzieht sich dessen nicht. Auch in Zeiten von Glasfaserleitungen und Breitbandinternet ist es weiterhin wichtig, einen schnellen Seitenaufbau an den Tag zu legen, da mittlerweile auch Google im PageRank darauf wert legt.

In diesem Beitrag möchte ich euch einige einfache Tipps zur Verbesserung der Performance eures Wordpress Blogs zeigen.

Den gesamten Artikel "Wordpress: Performance verbessern" lesen »

PHP Anwendungen lokalisieren mit Gettext

Anwendungen lokalisieren mit gettextViele standen mit Sicherheit schon einmal vor dem Problem: eine Web-Anwendung muss in mehreren Sprachen bereitgestellt werden.

Dabei möchte man es denn Übersetzern natürlich möglichst einfach gestalten und das Script so schreiben, dass eine weitere Sprache im Nachhinein im System einzupflegen einen möglichst geringen Aufwand bereitet.

Ansätze gibt es mehrere. Eine Möglichkeit ist die Sprachvariablen in ein Array auszulagern…

Den gesamten Artikel "PHP Anwendungen lokalisieren mit Gettext" lesen »

Apache2 Referer-Spam blocken

terminalGerade hatte ich auf blog.verfriemelt.com einen Artikel über Referer-Spam und dem Lighttpd gelesen.

Das Problem kenne ich leider nur zu gut. Besonders in Statistik-Tools wie Counterize für Wordpress kann das ziemlich nervig sein. Durch den Spam werden die Statistiken teils verfälscht.

Das ganze hat mich dazu bewegt, mich des Problems bei mir auch mal anzunehmen. Ich habe es für den Apache2 mit mod_rewrite realisiert.

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^.*fuck.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*ass.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*bitch.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*viagra.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*sperm.*$ [NC]
RewriteRule ^.* - [F]

Damit erhält jeder Bot (oder auch User) einen 403-Fehler (Forbidden), sofern sein Referer eine von den oben angegebenen Wörtern enthält.

PHP 5.3 und PHP 6.0 auf Debian Lenny 5.0

PHP LogoPHP 5.3 und PHP 6.0 enthalten viele Neuerungen, die vorallem im Bereich der Objektorientierung teilweise recht praktisch sind.

So wurden mit PHP 5.3 Beispielweise Namespaces und Late Static Bindings integriert. In PHP 6.0 werden überflüssige Funktionen wie register_globals, magic_quotes, register_long_arrays und der safe_mode abgeschafft, dafür gibt es einen vollständigen Unicode Support.

Leider kommt man bei diversen Linux Distributionen als PHP Entwickler immer nur mit recht viel Geduld zum Genuss der teilweise recht praktischen Neuerungen.
Deshalb gibt es die Möglichkeit PHP manuell aus dem Quellcode heraus zu installieren, bzw. sich selbst ein kleines .deb-Paket zu basteln.

Das ganze wurde auf einem Debian Lenny getestet, sollte sich aber mit kleineren Änderungen (ggf. andere Paketnamen bei den Abhängigkeiten) auch auf ähnliche Systeme wie Ubuntu übertragen lassen.

Den gesamten Artikel "PHP 5.3 und PHP 6.0 auf Debian Lenny 5.0" lesen »

Kon-Boot – Windows/Linux Login umgehen

DebianKon-Boot ist eine gerade mal 8 Kilobyte große Live Disc mit der man Passwortabfragen bei Windows und Linux Systemen komplett umgehen kann. Das besondere: das Passwort wird nicht zurückgesetzt, es wird Live per Speichermodifzierung umgangen.

Hier ein Video von der Website des Entwicklers, das die Funktionalität von Kon-Boot auf einem Debian Linux demonstriert (vermutlich ein Etch):

Das System wird mittels der KonBoot Live Disc gestartet und normal gebootet. Beim Login Prompt gibt man einfach den Usernamen “kon-usr” ein und hat direkt Root-Zugriff. Hilfreich wenn beispielsweise ein Passwort für den GRUB Bootloader vergeben wurde und so ein init=/bin/bash nicht direkt klappt.

Bei einem Windows System entfällt das Login Prompt komplett und man landet ohne weiteres mucksen direkt auf dem Desktop, natürlich als Administrator.

Kon-Boot unterstützt, wie schon angesprochen viele Systeme von Windows Server 2008 über Windows XP bis hin zu Windows 7 und nahezu alle verfügbaren Linux Distributionen. Leider ausschließlich 32 Bit Systeme.

Was mich absolut an diesem Programm fasziniert ist die Einfachheit. CD einlegen und fertig. Mehr ist nicht zu tun. Schützen kann man sich dagegen nicht wirklich. Der einzige wirksame Schutz, und das gilt sowieso generell: Die wichtigen und privaten Daten verschlüsseln (z. B. mittels DM-Crypt oder TrueCrypt).

Herunterladen kann man das ganze auf piotrbania.com, wahlweiße als Disketten-Image oder CD.

Anonymes surfen mit dem Firefox

Firefox LogoIm Firefox mit einem SOCKS-Proxy bzw. über einen SSH-Tunnel surfen heißt nicht unbedingt immer, dass man auch wirklich anonym surft.

Firefox hat ein seltsames Phänomen: Bei einem eingestellten SOCKS5-Proxy löst Firefox die IP-Adressen nicht standardmäßig über die DNS-Server des Remote-Hosts auf, sondern benutzt zuerst einmal die DNS-Server des Providers.

In meinem Fall wären das die T-Online DNS-Server – aber wer will heute denn noch die DNS-Server von Zensurprovidern benutzen? ;)

Dies ganze lässt sich glücklicherweiße sehr einfach fixen. In der about:config des Firefox stellt man die Konfigurationsvariable proxy.socks_remote_dns auf true.

network.proxy.socks_remote_dns = true
network.http.sendRefererHeader = 0

sendRefererHeader auf 0 zu stellen empfiehlt sich zusätzlich für diejenigen, die den Webmastern nicht preisgeben wollen, wonach sie soeben bei Google gesucht haben, oder über welchen Link sie auf eine Webseite gelangt sind.

Ein weiteres Problem ist das Prefetching im Firefox. Link-Prefetching ist eine Technologie, mit der verlinkte Webseiten schon im Voraus geladen werden. Diese wird zum Beispiel schon bei Google verwandt, um gesuchte Seiten im Hintergrund schon einmal vorzuladen.

Das Problem dabei ist: so erscheint man in den Logs diverser Webserver, obwohl man die Seiten eigentlich niemals selbst angesurft hat. Auch das lässt sich mit dem Umstellen der Konfigurationsvariable beheben.

network.prefetch-next = false

Und schon sollte das Problem gelöst sein. :)

CodePad – NoPaste mal anders

cppCodepad.org ist ein NoPaste Dienst, bei dem man wie bei jedem anderen NoPaste-Dienst Codeschnipsel einstellen kann und anderem im IRC/IM/Mail zeigen kann.

Das besondere ist allerdings: Der Code wird auch direkt ausgeführt, und der Besucher erhält die Ausgabe direkt mit auf dem Bildschirm.

Das schöne dabei ist, dass Codepad neben Scriptsprachen wie PHP, Perl oder TCL auch kompilierte Sprachen wie C oder C++ unterstützt. Eine interessante Idee auf jeden Fall.

http://codepad.org/

Danke an chilley, für diesen netten Fund. ;)

Support für Installer.app endet

PackageIconWie ich heute morgen in meinem Installer lesen musste, hat RipDev beschlossen den Support für das Installer.app zum 1. Juli zu beenden.

Ab dann stehen für unoffizielle Apps nur mehr die dpkg-basierenden Apps Cydia (entwickelt von Saurik) und Icy (wie Installer.app auch vom RipDev-Team) zur Verfügung.

Installer.appBeide sind dank dpkg (bekannt von Debian z. B.) vollkommen miteinander kompatibel. Der einzige Unterschied ist, dass Icy sich Designmäßig etwas mit WinterBoard anpassen lässt und einfach durch seine “Leichtigkeit” schneller läuft.

Damit endet gewissermaßen der Kleinkrieg zwischen beiden Installer Apps, zumindest wenn man es so nennen möchte.

Wer noch ein App braucht, dass nur im Installer verfügbar ist (VideoRecorder3G etc.), sollte das bis zum 1. Juli noch nachinstallieren. Denn genau dann werden die Repositorys komplett offline genommen.

Nachlesen kann man das ganze auch nochmals im Blog von RipDev.

Neue Kategorien: Apple und iPhone

Apple LogoIch werde mich in der nächsten Zeit wieder vermehrt der iPod und iPhone Jailbreak-Szene widmen. Ich werde also auch (wieder) beginnen ein paar Apple/iPhone bezogene Themen zu bloggen. Mal sehen was kommt. ;)

WPtouch ThemeIn diesem Zuge wurde auch gleich ein nettes Wordpress Plugin installiert, auf das ich heute gestoßen bin: WPtouch.

Das Plugin erkennt aus dem im HTTP-Header gesendeten User Agenten ob es sich bei dem Besucher um einen iPhone/iPod touch User handelt, und passt das Design entsprechend auf ein für ein derartiges Gerät freundliches Design an. :)

Neben der Userfreundlichkeit verbessert WPtouch den Seitenaufbau auf mobilen Geräten durch seine Einfachheit enorm. Wer das Design aber trotzdem nicht mag, kann es im Footer abstellen und bekommt die klassische Website.

Für den mobilen Wordpress Admin gibt es übrigens auch ein App auf dem iPhone: Wie der gleichnamige Blog ist “Wordpress” (iTunes-Link) ein App, mit dem man seinen Blog mobil moderieren kann. Sprich, mal eben einen Kommentar freischalten, einen Beitrag veröffentlichen oder ähnliches.

CopSSH als SSH Server unter Windows

CopsshCopSSH ist ein kleiner portabler SSH-Server und Client für cygwin. Die Installation gestaltet sich als extrem einfach, da dank der Installationsroutine (ein NSIS Installer) bereits alle Abhängigkeiten mit dabei sind (cygwin, libarys etc).

Auf der Enwicklerseite wird CopSSH folgendermaßen beschrieben:

Copssh is an ssh server and client implementation for windows systems. It is a yet another packaging of portable openssh, cygwin, some popular utilites, plus implementation of some best practices regarding security. You can use copssh for remote administration of your systems or gathering remote information in a secure way.

Damit CopSSH ist quasi die “One-Click”-Variante um einen SSH Server unter Windows bereitzustellen. Dabei hat man dann alle Vorteile von einer Linuxartigen Umgebung.
Den gesamten Artikel "CopSSH als SSH Server unter Windows" lesen »