Login schließen
Hinweis: In Ihrem Browser müssen Cookies und JavaScript aktiviert sein!
Login login
512 B ought to be enough for anybody

Heute wollte ich ein Anmeldeformular auf einer Webseite für die Besucher freischalten. Das Formular wird nur ein mal im Jahr benutzt und da wollte ich sicherheitshalber noch einen Funktionstest machen. Letztes Jahr hat es noch funktioniert, aber man weiß ja nie...

Und tatsächlich: Das Formular funktionierte nicht mehr richtig. Nach dem Absenden des Formulars wurden auf einmal alle Umlaute falsch dargestellt.

Ich musste lange suchen, bevor ich das Problem gefunden habe: Die Angabe des Zeichensatzes muss innnerhalb der ersten 512 Zeichen erfolgen (Zumindest behauptet das Mozilla, in den HTML-Spezifikationen habe ich nichts über diese magische Grenze finden können).

Die Browser verhalten sich in dieser Hinsicht unterschiedlich. Firefox 15, Chromium 34 und Opera 12 haben keine Probleme, wenn der Zeichensatz erst später festgelegt wird. Und Firefox 29 zeigt beim normalen Seitenaufruf auch alles richtig an, das Problem tritt nur auf, wenn eine Seite per POST angefordert wird.

veröffentlicht am 14.05.14 um 17:56 Uhr, 1 Kommentar
Tags: Webentwicklung, Firefox, Computer

Erst mal abwarten...

Auf einer Webseite, für die ich mitverantwortlich bin, ist mir ein Bug aufgefallen: Während ich eine Datei von der Seite heruntergeladen habe (und das kann mit DSL lite dauern), war der Rest der Seite unbenutzbar. Zwar ist die Webseite mit einigen hundert Besuchern im Monat recht klein, aber dass die Seite nicht erreichbar ist, weil jemand eine Datei herunter läd, war kein akzeptabler Zustand.

Letztendlich war das Problem dahinter recht simpel: Der Download lief über den internen, passwortgeschützten Bereich. Und dieser Passwortschutz ist mit PHP-Sessions realisiert. Da eine PHP-Session nicht von mehreren Scripts gleichzeitig genutzt werden kann, mussten die anderen Seitenaufrufe warten, bis der Download abgeschlossen war. Ein Aufruf von session_write_close() im Script, das für die Downloads zuständig ist, löste das Problem.

Nachdem die Ursache bekannt war, war auch klar, dass der Fehler keine Auswirkungen auf den öffentlichen Bereich der Seite hatte. Das Problem betraf nur eingeloggte Benutzer, und jeder Besucher konnte nur sich selbst blockieren.

Es hat mich allerdings einige Zeit gekostet, bis ich den Fehler gefunden hatte. Denn ich konnte den Fehler mit einem Script reproduzieren, das gar keine Sessions verwendet:


››› Artikel weiter lesen

veröffentlicht am 01.11.12 um 23:07 Uhr, 0 Kommentare
Tags: Webentwicklung, Computer

Übersichtliche Checkboxen

Ich wollte für interne Zwecke eine Verwaltungsseite schreiben. Auf der Seite würde dann eine größere Anzahl an Checkboxen zu sehen sein. Wenn man mehrere Spalten mit Checkboxen hat und die Seite so lang wird, dass man scrollen muss, dann verliert man schnell den Überblick, welche Box jetzt eigentlich was bedeutet.


Beispiel für viele Checkboxen: Drupal-Rechteverwaltung

Ich wollte deshalb die Boxen durch kleine Bilder ersetzen, die in deaktiviertem Zustand ausgegraut sind:

Das ganze klingt recht einfach, einfach eine unsichtbare Checkbox und zwei Grafiken; dazu ein wenig jQuery, welches beim Klick auf eine Grafik den Zustand der Checkbox ändert und passend dazu eine der beiden Grafiken ausblendet.

HTML:
<span class="image_checkbox">
    <input type="checkbox" name="active" style="display:none">
    <img class="img_off" src="img/active-off.png">
    <img class="img_on" src="img/active-on.png">
</span>


››› Artikel weiter lesen

veröffentlicht am 21.02.12 um 11:01 Uhr, 0 Kommentare
Tags: Webentwicklung, Computer

Seite 1 von 1