Altlasten abwerfen: Internet Explorer Unterstützung beenden

Level: Anfänger
Sprachen: HTML

Der Internet Explorer, eigentlich egal in welcher Version, bereitete Webentwicklern immer wieder Sorgen.

So gibt es heute fast keine Seite, die nicht mit einem

<!--[if lt IE 9]>
 Sonderregeln für Internet Explorer "less than" Version 9
<![endif]-->

Kommentar ausgestattet ist. Sieht man sich aber an, dass der Internet Explorer nur noch ca. 1% des weltweiten Traffics ausmacht (siehe W3Counter) und nach meinen Erfahrungen praktisch nur noch im Notfall genutzt wird, kann man seinen Code ohne Bedenken nun um diese „Kommentar-Befehle“ reduzieren.

Auf einer der Seiten, welche ich verwalte, die allerdings nicht als Repräsentativ gilt, ist die Nutzung des Internet-Explorers sogar eine absolute Ausnahme:

Von rund 15.000 Besuchern (mitunter auch Bots) nutzten im letzen Monat nur 8 den Internet Explorer. Das entspricht gerade einmal 0,053% der User. Für diesen minimalen Anteil an Nutzern immer wieder zu testen, Änderungen auch an alte Versionen des Internet Explorers anzupassen und auf User-Feedback zu warten, lohnt sich einfach nicht.

Selbst der Internet Explorer 11 sollte laut Microsoft Mitarbeitern nicht mehr genutzt werden, auch wenn dieser weiterhin mit Sicherheitsupdates versorgt wird.

Ich empfehle aber vor allem die Anpassungen für <= IE9 zu entfernen.
Dafür müssen nur alle

<!--[if lt IE 9]><![endif]-->

Kommentare aus dem Quellcode entfernt werden.

Um die Website nicht komplett in den alten Browsern zu zerschießen, reicht es, die HTML5shiv-Bibliothek (Download von GitHub) in die Seite einzubinden:

<!--[if lt IE 9]><script src="/js/html5shiv.js"></script><![endif]-->

Alle anderen Anpassungen für den Internet Explorer können dann gelöscht werden. Dies gilt natürlich nur, wenn HTML5 und seine Komponenten auch genutzt werden.

Achtung: Natürlich sollte weiterhin gegen alle Versionen von Microsoft Edge getestet und entwickelt werden! Auch kann Beenden der Unterstützung eines älteren Browsers zu einem User-Verlust führen. Prüfe daher deine Statistiken genau, bevor du die Internet Explorer Unterstützung beendest.

Hierzu noch ein passender Artikel, warum man den Internet Explorer nicht mehr unterstützen sollte: Why you should stop supporting IE10, IE9 and IE8.

Tweets über die Twitter API versenden (PHP)

Level: Fortgeschritten
Sprachen: PHP, evtl. HTML
Codeschnipsel (volles Tutorial und Original Code von Webinfopedia)

In bestimmten Situationen kann es sinnvoll sein, Tweets über die API von Twitter zu versenden. Zum Beispiel kann man so mit einem Cronjob den aktuellen Status seiner Website twittern (als Alternative zur relativ teuren Statuspage).

Dafür benutzen wir die OAuth-Bibilothek von Twitter, die beiden dafür relevanten Dateien stehen hier zur Verfügung:

Diese beiden Dateien werden in das gleiche Verzeichnis hochgeladen, in die folgender Schnipsel geladen wird:

<?php
//http://www.webinfopedia.com/auto-tweet-with-oauth-in-php.html

// Hier werden die Keys aus der erstellten Anwendung eingesetzt
$consumerKey    = 'xxx';
$consumerSecret = 'xxx';
$oAuthToken     = 'xxx';
$oAuthSecret    = 'xxx';

// Um auf Twitters API zugreifen zu können, benutzen wir ab hier deren oAuth-Bibliothek 
require_once('twitteroauth.php');

// Hier wird die Variable $tweet definiert, welche unsere Keys an Twitter weitergibt
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);

// Dies sagt der API, dass sie ein "Status-Update" (Tweet) absenden soll, welches nachfolgenden Text beinhaltet
$tweet->post('statuses/update', array('status' => 'Hier steht der Text, der später getweetet wird.'));

?>

In die Zeilen, die ich hier mit „xxx“ markiert habe, musst du deine jeweiligen Keys einsetzen. Um diese zu bekommen, muss bei Twitter eine neue Applikation erstellt werden. Nachdem die Applikation erstellt wurde, werden dir diese Keys von Twitter bereitgestellt.

Nun muss die Datei (hier: tweet.php) nur noch aufgerufen werden, und schon wird ein Tweet abgesetzt (in diesem Fall mit dieser Nachricht: „Hier steht der Text, der später getweetet wird.“).

Danach kannst du je nach Belieben noch einen Cronjob einrichten.

SSL Verschlüsselung einrichten

Level: Anfänger
Sprachen: .htaccess?

Für das Google-Ranking und die Sicherheit einer Website ist wichtig, dass die Seite per SSL verschlüsselt ist. Ein aktives SSL-Zertifikat ist an einem Schloss-Symbol in der Adressleiste des Browsers zu erkennen. 

Dies sieht dann Beispielsweiße so aus:

Eine nicht mit SSL verschlüsselte Website zeigt diesen Hinweis an.

Eine mit SSL verschlüsselte Website zeigt das Schloss-Symbol an.

Eine mit EV-SSL verschlüsselte Website zeigt das Schloss-Symbol und die hinter der Website stehende Organisation oder Firma an. Um ein EV-SSL-Zertifikat zu erhalten, muss die Identität des Domain-Inhabers von einer unabhängigen Instanz (sogenannte Authoritys) überprüft werden.

Im Regelfall werden Websites von Hostern kostenlos oder gegen einen geringen Betrag mit einem Standard SSL-Zertifikat ausgestattet. Sollte dein Hoster dies nicht anbieten, solltest du über einen Anbieterwechsel nachdenken. Ein EV-Zertifikat hingegen ist teuer und für Seiten, die nicht mit hochsensiblen Daten arbeiten eher unnötig.

Sobald dir ein Zertifikat zur Verfügung steht, musst  im Regelfall einige Änderungen an der Website vornehmen. 

Arbeite folgende Punkte ab:

  • Ändere bei allen verwendeten Stylesheets (.css-Dateien) den Anfang von http:// zu https:// oder einfach nur //.
    Dabei solltest du darauf achten, dass die Dateien, die du abrufen, auch wirklich per https:// zu erreichen sind.
  • Führe den obigen Schritt auch für Bilder und Scripts (.js) durch
  • Überprüfe, ob sich innerhalb eines Scripts oder eines Stylesheets Verlinkungen befinden, die auf eine unsichere http://-Domain führen. Diese müssen ebenfalls ausgetauscht werden.
  • Ändere alle internen Links auf https://.

Sobald diese Punkte abgearbeitet sind, bist du startklar. Nun ist die Website auch unter https://beispiel.domain erreichbar und das Schloss-Symbol erscheint in der Adresszeile. Sollte dies nicht der Fall sein, prüfe erneut alle Dateien auf der Seite.

Nun musst du dem Webserver mitteilen, dass du SSL erzwingen möchtest. Dies passiert über die „.htaccess“-Datei, die du in Ihrem Hauptverzeichnis findest (Wenn keine vorhanden ist, muss eine einfache Textdatei ohne Endung mit dem Namen „.htaccess“ erstellt werden). Füge dort folgende Zeile hinzu:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Nun ist deine Seite nur noch sicher per SSL-Verbindung zu erreichen. Solltest du bzw. dein Hoster einen nginx-Sever einsetzen, kontaktiere bitte den jeweiligen Server Admin, da Änderungen an der nginx-config meist nicht vom User durchgeführt werden können.
Solltest du doch Zugriff auf die config haben, kannst du mit dem 301 – Moved Permanently Status code eine Weiterleitung auf SSL erzwingen:

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name example.com www.example.com;
	return 301 https://$server_name$request_uri;
}

Mit dem SSL Server Test von SSLLabs oder WhyNoPadlock kannst du deine SSL-Verbindung auf Fehler oder ähnliches prüfen.

Solltest du mit WordPress arbeiten, gibt es Plugins, die dir die Arbeit abnehmen. Ich empfehle Really Simple SSL.

✔︎✔︎✔︎✔︎✔︎