archive-de.com » DE » A » ARNOWELZEL.DE

Total: 399

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Versionierung von statischen Ressourcen bei WordPress | Arno Welzel
    Server anfordern da der Inhalt des Cache durch den geänderten Parameter nicht mehr gültig ist Fehlt der Parameter ver aber ist die URL auch bei einer neueren Version immer noch unverändert und der Browser wird auch die neuere Version nicht vom Server anfordern da er bereits eine lokale Kopie im Cache hat Besucher innen erhalten möglicherweise eine Mischung aus alten und neuen Ressourcen die zu einer fehlerhaften oder komplett unbenutzbaren Darstellung führt Der Parameter ist also nicht überflüssig sondern stellt sicher dass ein Browser keine veralteten Inhalte aus dem Cache verwendet sondern bei Bedarf die neue Version vom Server anfordert Elegantere Lösung Parameter als Bestandteil der URL John Beales hat einen eleganten Ansatz vorgeschlagen mit dem die URLs für Stylesheets und Scripte in WordPress so angepasst werden dass sie weiterhin für jede Version eindeutig sind aber ohne den ver Parameter am Ende auskommen Das erfordert auch eine Rewrite Regel im Webserver da die URLs keine existierenden Dateien mehr auf dem Server adressieren Schritt 1 Anpassen der URLs in WordPress Um die von WordPress erzeugten URLs anzupassen erweitert man die Datei functions php seines Themes mit folgendem Code function my versioned url url defaultversion false Im Backend keine Anpassung vornehmen if is admin URL parsen parts parse url url Und dann die Query Parameter query wp parse args parts query array Pruefen ob es eine Versionsangabe in den Parametern gibt Falls ja sind weitere Dinge notwendig if isset query ver false defaultversion if isset query ver Praefix res version value im Pfad ergaenzen parts path res query ver parts path Version im Query String entfernen da sie jetzt Teil des Pfades ist unset query ver else parts path res defaultversion parts path Falls es sich um eine PHP Datei handelt nichts weiter tun if preg match php parts path URL wieder neu aufbauen url parts scheme parts host parts path Pruefen ob es noch weitere Parameter gibt if count query 0 Abfrage mit allen verbleibenden Parametern bauen parts query build query query Und als Parameter an die URL anhaengen url parts query return url Funktion als Filter eintragen add filter style loader src my versioned url add filter script loader src my versioned url Zur Erläuterung Die Funktion my versioned url wird als Filter für das Laden von Stylesheets und Scripten im Frontend verwendet und erhält zwei Parameter die URL der zu ladenden Datei sowie optional die Angabe der Versionsnummer die WordPress als ver Parameter an die URL anhängt Als Ergebnis liefert sie eine angepasste URL zurück die nach folgendem Schema aufgebaut ist http servername res version url Bezogen auf das Beispiel vom Anfang würde das dann so aussehen http server example res 4 1 wp content themes hemingway style css Schritt 2 Rewrite Regel in Apache ergänzen Für die korrekte Behandlung der angepassten URLs genügen in Apache zwei Zeilen die man z B in der Datei htaccess im Hauptverzeichnis der Website ergänzt RewriteEngine on RewriteRule res d a zA Z 2 ver 1 L Wichtig Wenn man statt res einen

    Original URL path: http://arnowelzel.de/wp/versionierung-von-statischen-ressourcen-bei-wordpress (2016-02-09)
    Open archived version from archive


  • Eine kleine Lektion zum Thema „Inhalte kopieren“ | Arno Welzel
    meine Website um eventuelle Probleme frühzeitig zu erkennen Dabei sind mir dann Abrufe einzelner Scripte mit der Website eines schweizer Fahrradladens als Referrer aufgefallen Eine genauere Untersuchung hat dann gezeigt dass dieser Laden offenbar den von mir übersetzten Artikel zu Kassettennaben von Sheldon Brown praktisch unverändert kopiert hat also nicht nur Text und Bilder sondern das komplette HTML Dokument Das hatte zur Folge dass auch einige Scripte von meinem Server nachgeladen wurden da die entsprechenden script Elemente samt Verweis auf meinen Server unverändert übernommen wurden Außerdem waren etliche Links zu weiteren Artikeln auf meiner Website ebenfalls noch vorhanden und der einzig wichtige Link am Anfang der auf die Quelle verwiesen hätte ging beim Kopieren offenbar kaputt und hat nicht funktioniert Zu guter letzt wurde als Titel im HTML Dokument dann auch noch Arno Welzel Computer benutzt Den Betreiber der Website habe ich per E Mail angeschrieben und er hat das auch umgehend abgestellt Daher meine Bitte Wer Texte und Bilder von meiner Website verwenden will soll bitte nur die Inhalte kopieren und nicht die kompletten HTML Quellen Wer sich außerstande sieht HTML Quellen entsprechend zu überarbeiten soll im Zweifelsfall einfach nur einen Link auf den Artikel einfügen oder mich fragen

    Original URL path: http://arnowelzel.de/wp/eine-kleine-lektion-zum-thema-inhalte-kopieren (2016-02-09)
    Open archived version from archive

  • Kleines Update des mehrspaltigen Kategorie-Widget | Arno Welzel
    für WordPress zeigt jetzt in der Konfiguration beim Titel auch einen Platzhalter Text an damit man sieht welcher Standard Titel verwendet wird wenn man keinen eigenen Titel eingibt Weitere Beiträge in dieser Kategorie Web Auftritt für Anfänger Eine kleine Lektion zum Thema Inhalte kopieren Kommentar hinterlassen Kommentieren abbrechen Deine E Mail Adresse wird nicht veröffentlicht Erforderliche Felder sind markiert Kommentar Name E Mail Adresse Website Blog Allgemein Android Computer Fahrrad

    Original URL path: http://arnowelzel.de/wp/kleines-update-des-mehrspaltigen-kategorie-widget (2016-02-09)
    Open archived version from archive

  • Web-Auftritt für Anfänger | Arno Welzel
    ist Der Grund dafür ist dass die Website tatsächlich bei WordPress unter https cdsberlin3 wordpress com gehostet wird vermutlich im Rahmen eines kostenlosen Accounts und unter der offiziellen Adresse die vermutlich kaum mehr ist als das billigste Hosting Angebot von 1 1 lediglich ein Frame vorhanden ist der die WordPress Website einbindet selbstverständlich nicht ohne ein noframes Element das zwar im Jahr 2015 völlig überflüssig ist da Browser die Frames nicht unterstützen schon seit etwa 20 Jahren nicht mehr existieren aber das passt zur technischen Kompetenz mit der hier offenbar gearbeitet wird frameset rows 100 frame src http cdsberlin3 wordpress com title Homepage von Björn Böhning frameborder 0 noresize noresize noframes body h1 Homepage von Björn Böhning h1 p a href http cdsberlin3 wordpress com http bjoern boehning de a p body noframes frameset Die obligatorische Validierung der Website führt erwartungsgemäß auch zu keinem positiven Ergebnis http validator w3 org check uri http 3A 2F 2Fwww bjoern boehning de Ich kann nur vermuten dass die Einrichtung einer WordPress Installation auf dem eigenen Webserver offensichtlich eine technisch zu anspruchsvolle Hürde für den zuständigen Dienstleister von Herrn Böhning ist oder sind das nur unterbezahlte oder gar nicht bezahlte Praktikant innen die froh sind wenn sie das mit den begrenzten Mitteln überhaupt hinbekommen Auch das durchaus erhältliche WordPress Hosting von 1 1 war wohl entweder gänzlich unbekannt oder im Zweifelsfall mit den etwa 20 EUR im Monat Stand März 2015 zu teuer Ebenfalls war man offenbar nicht willens oder nicht fähig die Erreichbarkeit der Inhalte unter eigener eigenen Domain bei WordPress einzurichten und die dafür fälligen Gebühren von 13 USD pro Jahr zu bezahlen siehe auch die Beschreibung bei WordPress wie man das technisch macht aber möglicherweise ändert sich das jetzt ja auch wenn die Veranwortlichen diesen Artikel gelesen haben Dennoch sollte man

    Original URL path: http://arnowelzel.de/wp/web-auftritt-fuer-anfaenger (2016-02-09)
    Open archived version from archive

  • Zugänglichkeit mit Links zum Inhalt verbessern | Arno Welzel
    Links im Artikel auf weiterführende Informationen auszuwählen merkt schnell dass man viele Male die Taste drücken muss bevor man zum eigentlichen Artikel gelangt Link zum Inhalt Auf WebAIM habe ich eine sehr elegante Lösung des Problems gefunden Für Nutzer die nicht auf einfache Weise das Menü überspringen können ist ein Link am Anfang des Dokumentes sinnvoll der zum auf den eigentlichen Inhalt springt etwa auf folgende Weise a href content Zum Inhalt springen a div id menu Hier ist das Menü div div id content Hier ist der eigentliche Inhalt des angezeigten Beitrags div Aus gestalterischen Gesichtspunkten möchte man aber nicht das der Link in einem grafischen Browser wie Firefox immer erscheint sondern nur dann wenn er bei der Benutzung der Tab Taste den Fokus erhält Gleichzeitig soll er aber auch nicht unsichtbar für Screen Reader sein Dies kann man mit folgenden CSS Regeln erreichen a skip padding 0 5em position absolute top 4em left 0px color white border right 1px solid white border bottom 1px solid white border bottom right radius 0 5em background bf1722 webkit transition top 1s ease out transition top 1s ease out z index 100 a skip focus position absolute left 0px top 0px outline style none webkit transition top 1s ease in transition top 1s ease in Entsprechend wird der Link mit der CSS Klasse eingebunden a class skip href content Zum Inhalt springen a Zur Erläuterung Die Anforderung soll nicht sichtbar erscheinen würde man mit display none umsetzen Solche Regeln verbergen Elemente aber nicht nur optisch sondern auch für Screenreader Der Hack besteht nur darin das Element außerhalb des Viewports zu positionieren hier konkret mit den Regeln position absolute top 4em left 0px Die negative Angabe für top sorgt dafür dass das Element oberhalb des Viewports ausgegeben wird womit optisch der selbe Effekt

    Original URL path: http://arnowelzel.de/wp/zuganglichkeit-mit-links-zum-inhalt-verbessern (2016-02-09)
    Open archived version from archive

  • Mehrspaltiges Kategorie-Widget in Russisch | Arno Welzel
    Widget für die mehrspaltige Ausgabe von Kategorien in WordPress unterstützt jetzt auch in Russisch als Sprache danke an Flector für die Übersetzung Weitere Beiträge in dieser Kategorie Webfonts als Data URL einbinden Zugänglichkeit mit Links zum Inhalt verbessern Kommentar hinterlassen Kommentieren abbrechen Deine E Mail Adresse wird nicht veröffentlicht Erforderliche Felder sind markiert Kommentar Name E Mail Adresse Website Blog Allgemein Android Computer Fahrrad Reisen Reviews Umwelt Web Letzte Kommentare

    Original URL path: http://arnowelzel.de/wp/mehrspaltiges-kategorie-widget-in-russisch (2016-02-09)
    Open archived version from archive

  • Webfonts als Data-URL einbinden | Arno Welzel
    tatsächlich zu verwendenden Schriften die als Webfont eingebunden sind werden dann parallel dazu im Hintergrund geladen und der Inhalt mit der richtigen Schrift aktualisiert sobald diese übertragen wurde Das kann durchaus einige Sekunden dauern und auch mehrfach passieren für jeden einzelnen Schriftschnitt was mindestens ziemlich irritierend ist Die Lösung mit Data URL Als Data URL wird ein URL Schema bezeichnet mit dem man Binärdaten direkt in einer URL angeben kann ohne auf eine externe Ressource verweisen zu müssen Das Schema wurde bereits 1998 spezifiert und die Methode funktioniert mit allen gängigen Browsern Siehe dazu die RFC 2397 und http caniuse com search dataurl Für Binärdaten sieht es vereinfacht wie folgt aus data MIME Type base64 Daten kodiert als Base64 Als Beispiel die Darstellung eines Bilds mit einer Data URL zur besseren Lesbarkeit stark gekürzt img alt Globus src data image png base64 iVBORw0KGgo Analog dazu kann man Data URLs auch in Stylesheets verwenden auch hier wieder entsprechend gekürzt myclass background image url data image png base64 iVBORw0KGgo Der große Vorteil ist dass nun keine zusätzliche HTTP Anfrage für das Laden des Bildes nötig ist sondern die Daten bereits im HTML Dokument oder dem Stylesheet enhalten sind Für kleinere Grafiken wie Symbole die weniger als 1 KiB Daten umfassen ist so eine Methode generell sinnvoll da hier deutlich mehr Zeit für die HTTP Anfrage benötigt wird als für die eigentliche Datenübertragung URLs dürfen nicht beliebig lang werden Bis zu 64 KiB sollten aber generell mit neueren Versionen von Firefox Safari Chrome Internet Explorer oder Opera und den entsprechenden mobilen Varianten davon möglich sein Daher kann man die selbe Methode wie bei Bildern auch für Webfonts verwenden wie hier am Beispiel der vorher erwähnten Schrift Lato bei der jeder Schriftschnitt für sich auch als Base64 weniger als 64 KiB benötigt zur besseren Lesbarkeit stark gekürzt Ein Hinweis zum Format auch wenn nur WOFF Web Open Font Format angeboten wird deckt dies die meisten aktuellen Browser ab da selbst der Internet Explorer und Android Browser oder iOS heutzutage WOFF unterstützen und nicht mehr EOT oder TTF benötigen font face font family Lato src url data font woff base64 d09GRgABAAAAALQ format woff font face font family Lato font style italic src url data font woff base64 d09GRgABAAAAALh format woff font face font family Lato font style normal font weight bold src url data font woff base64 d09GRgABAAAAALR format woff font face font family Lato font style italic font weight bold src url data font woff base64 d09GRgABAAAAALm format woff Das Stylesheet wird dadurch etwa 240 KiB größer da die Schriften in Base64 kodiert etwa 30 mehr Platz benötigen Allerdings kann dieser Platzbedarf durch die Verwendung von gzip Komprimierung für die Übertragung der Daten stark verringert werden so dass am Ende kaum mehr Daten übertragen werden müssen als vorher mit Stylesheet und den vier separaten Webfonts Was in jedem Fall entfällt sind die vier zusätzlichen Ladevorgänge Selbst wenn man davon ausgeht dass das Stylesheet aufgrund seiner Größe eine längere Ladezeit verursacht ist der gesamte Ladevorgang

    Original URL path: http://arnowelzel.de/wp/webfonts-als-data-url-einbinden (2016-02-09)
    Open archived version from archive

  • Anatomie eines Angriffs – Update | Arno Welzel
    kann durch XML Dateien mit einer DTD dazu gebracht werden sehr viel Speicher zu verbrauchen Man definiert in der DTD eine XML Entity die sehr lang ist z B 50000 Zeichen und fügt dann ein Element in der diese Entity z B 100000 Mal wiederholt wird Im Ergebnis benötigt das Dokument bei der Interpretation dann 50000 100000 Bytes was schon über 4 GiB sind obwohl die Quelldatei dazu weniger als 150 kiB benötigt Ein Angreifer kann daher mit dem Senden vieler solcher Anfragen in kurzer Zeit sehr schnell den Server an seine Grenzen bringen PHP begrenzt zwar den Speicherverbrauch von Scripten aber diese Grenze gilt nur für ein einzelnes Script Bei vielen Servern werden aber mehrere PHP Scripte parallel in separaten Prozessen ausgeführt etwa mit fcgi so dass sich letzlich der Speicherbedarf erhöht Bei einer Grenze von 128 MiB und 200 zulässigen Prozessen wären das schon rund 25 GiB Das würde viele Webserver sehr wahrscheinlich lahm legen weil das System dann nur noch mit der Speicherverwaltung und Zugriffen auf den Swap Bereich beschäftigt ist Das Update von WordPress sorgt dafür dass es nicht mehr möglich ist eine DTD anzugeben und akzeptiert nur noch XML Dateien in denen die erforderlichen Elemente

    Original URL path: http://arnowelzel.de/wp/anatomie-eines-angriffs-update (2016-02-09)
    Open archived version from archive