BenBE's humble thoughts Thoughts the world doesn't need yet …

25.01.2011

SVN und seine Eimer-Brigaden

Filed under: Server — Schlagwörter: , , , , , — BenBE @ 22:06:29

Die wohl mysteriöseste Fehlermeldung, die mir beim Apache bisher untergekommen ist (abgesehen von nichtssagenden SegFault-Meldungen, wenn plötzlicher Kindstot auftritt, liefert das SVN-Modul, in Verbindung mit WebDAV. Glaubt ihr nicht?

Text für „SVN und seine Eimer-Brigaden“ anzeigen
Direkt zum Beitrag

Flattr this!

23.01.2011

Bezahlt eure Webentwickler

Filed under: Fun — Schlagwörter: , , , — BenBE @ 16:06:44

Was passiert, wenn man seine Webentwickler nicht bezahlt?

Eine Firma hat das Experiment gemacht, damit andere es nicht mehr tun müssen:

Please pay your fair share 😉

(via)

Direkt zum Beitrag

Flattr this!

22.01.2011

Primär- und Sekundär-IPs unter Linux setzen

Filed under: Server — Schlagwörter: , , , , — BenBE @ 06:24:22

Wenn man unter Linux einen Server mit mehren IP-Adressen hat, ist es wichtig, dass man für bestimmte Anwendungen, wie etwa den Mailserver die korrekte, primäre IP einstellt, um sicherzustellen, dass Mechanismen wie SPF korrekt funktionieren und der Server nicht aus Versehen als Spamschleuder gebrandmarkt wird.

Text für „Primär- und Sekundär-IPs unter Linux setzen“ anzeigen
Direkt zum Beitrag

Flattr this!

18.01.2011

Final crafting on GeSHi 1.0.8.10

Filed under: GeSHi — Schlagwörter: , , , , , — BenBE @ 03:24:46

After a somewhat longer period of silence from my side, due to some vacation I took, I’m proud to announce that there have quite some changes for the next release of GeSHi accumulated in the SVN trunk which will be the basis for the next release of GeSHi. As most of you might already have guessed the next release will be version 1.0.8.10, which is the first version of GeSHi in 2011 and also the first version since half a year. So what’s new with this version?

Well, the question is a bit complicated to answer, so let me split this into three parts. The first of which is all the changes to the parser of GeSHi itself. One of the changes here is a change of the handling of dashes when creating regular expressions which are used internally for GeSHi to speed up the highlighting of keywords. The problem here was that in some occasions dashes were left unescaped as part of the regexp and thus got a special meaning within character groups causing unpredictable behaviour. Although this couldn’t be used for malicious activity it was an annoying side effect causing GeSHi to crash when encountering language files which used dashes in their keywords. COBOL is one of them, Scheme another.

But let’s stay with the internal changes for another moment: There was another bug this time which affected e.g. PHP, but actually quite a bunch of other languages too. The reason for this bug is a bit more complicated to explain though, as it involves some of the internas and the precautions of GeSHi to avoid XSS attacks by the code that should be highlighted. When you look at the code sample provided there you will notice the semicolon before the offending if, right? Now, as we all know, GeSHi tries to output HTML code. This fact is important here because the semicolon – even though it doesn’t need escaping is crucial for valid HTML as it terminates escape sequences and therefore needs special treatment as we can’t simply go ahead and markup every ; we find: It might be part of an escape sequence. Luckily GeSHi works around the problem here and escapes two characters not which their HTML entity, but with something else: | with <PIPE> and – you guessed ; with <SEMI>, avoiding this disambiguity this way. Now for the problem: The default boundary checks for keywords didn’t take these replacements into account and thus hadn’t had < and > in them and therefore did NEVER match any keyword accompanied by one of those two characters. Literal < and > BTW are escaped beforehand and thus appear as &lt; and &gt; in the source when checking boundaries. Coming with this release also < and > are part of the default lists of characters allowed as boundary of a word and thus enabling the proper highlighting of the sample code in the bug report linked above.

The third issue regarding the parser is not a change of the parser itself, but rather a convenience check added to the language file checking script which didn’t verify filenames properly and thus sometimes returned invalid filenames to be checked. This bug didn’t allow for code execution, but rather produced annoying error messages when some temporary files clobbered up your language file directory.

After we’re now done with the changes to the parser let’s discuss the changes to existing language file since we have quite a few already and I’m sure I did miss even some more in the depths of my inbox! So here we go: Users of Algol68 might like the greatly improved language file by Neville Dempsey which didn’t make it into the previous release since there were some issues I needed feedback on. But even having the language file in a bit later should be early enough for you to enjoy.

Text für „Final crafting on GeSHi 1.0.8.10“ anzeigen
Direkt zum Beitrag

Flattr this!

16.01.2011

Resourcenschonendes Upload-Tracking

Filed under: Server — Schlagwörter: , , , , — BenBE @ 21:25:28

Wenn man auf einer Web-Oberfläche Dateien hochladen möchte, so gibt es hierfür im wesentlichen zwei sehr verbreitete Möglichkeiten: Während die erste Version gemäß dem HTTP-Standard und dem application/x-www-form-urlencoded-Encoding die Datenüberträgt, was jeder heutige Browser unterstützt, so findet man an verschiedensten Stellen sogenannte Flash-Uploader, die zwar im Wesentlichen das Gleiche tun, jedoch versuchen verschiedene Funktionen nachzurüsten, die in vielen Browsern fehlen. Eine dieser Funktionen ist das Anzeigen des Upload-Fortschritts oder die Anzeige der Upload-Geschwindigkeit.

Im Internet findet man für diese Funktion auch verschiedene Ansätze, die jedoch meist darauf hinauslaufen, auf dem Server ein zusätzliches Perl-Script zu installieren, was dann versucht aus dem Temp-Verzeichnis von PHP die Daten zusammenzukratzen. Dies ist nicht nur ineffizient, da für jede Fortschrittsabfrage eine vollständige Perl-Instanz gestartet werden muss, sondern oft auch reichlich wacklig, wenn es um neuere Versionen von Scripten geht.

Eine wesentlich bessere Lösung wäre hier, wenn der Server sich um das Tracken von Uploads kümmern könnte und man somit keinen zusätzlichen Speicher für derlei Fortschrittsabfragen verwenden muss. Zusätzlich kann durch den Wegfall solcher externen Programme deren Ladezeit eingespart werden, wenn der Server dies bereits selbst verwaltet.

Und genau hier setzt mod_upload_progress an, der als Apache-Modul alle laufenden Upload-Vorgänge verfolgt und deren Status abfragbar macht. Diese lässt sich mit wenigen Schritten installieren und zusätzlich an die eigenen Wünsche anpassen. Aber der Reihe nach.

Text für „Resourcenschonendes Upload-Tracking“ anzeigen
Direkt zum Beitrag

Flattr this!

13.01.2011

10 Jahre Wikipedia – Ein Nachruf

Filed under: Politik und Philosophie — Schlagwörter: , , , , — BenBE @ 16:46:47

Liebe Wikipedia,

kaum zu übersehen, prangt nach dem Spendenaufruf der vergangenen Wochen nun ein neues Banner am oberen Rand jeder deiner Webseiten, um wie bereits seine Vorgänger der vorigen Wochen vom Wesentlichem abzulenken, den Inhalten. Aber bevor wir dazu kommen, möchte ich mich durchaus anderen Leuten anschließen und Dir,Wikipedia, zu Deinem zehnten Geburtstag recht herzlich gratulieren.

Text für „10 Jahre Wikipedia – Ein Nachruf“ anzeigen
Direkt zum Beitrag

Flattr this!

Powered by WordPress