Archive for the Category »PHP «

JetBrains aktualisiert PhpStorm und PyCharm

Beim dem tschechischen Toolhersteller JetBrains startet traditionell im November die Update-Welle über alle Entwicklungsumgebungen hinweg.

Auf das für die Webentwicklung ausgelegte WebStorm 2017.3 folgen nun PyCharm 2017.3 für Python- und PhpStorm 2017.3 für PHP-Entwickler.

Auf das frische Release des Flaggschiffs IntelliJ IDEA muss man noch ein wenig warten, es dürfte sich aber außer durch Bugfixes kaum vom Release Candidate unterscheiden, der schon seit Mitte November verfügbar ist.

Nullable Types aus PHP 7.1 und REST-Client-Interface

PhpStorm kommt wie schon in den vergangenen beiden Jahren kurz vor dem Release der neuen Sprachversion heraus, so dass die für PHP 7.2 erwarteten Neuerungen dort noch nicht berücksichtigt werden.

Dafür bietet die Entwicklungsumgebung aber erstmals den vollständigen Support für die in PHP 7.1 eingeführten Nullable Types. Die beiden Refactoring-Funktionen Extract Interface und Change Signature sind darauf vorbereitet und bewahren die Nullability statt wie bisher (falsche) Fehlermeldungen herauszugeben.

Google will unerwünschte Weiterleitungen verhindern

Hersteller Google hat gerade neue Sicherheitsfunktionen für seinen Browser Chrome angekündigt. die Nutzer besser vor unerwünschten Inhalten schützen sollen.

Dabei zielt Google besonders auf die sogenannten Page Redirects, welche die Nutzer meist zu Werbezwecken und ohne jede Vorankündigung auf eine neue Seite umleiten.

Solche unerwünschten Weiterleitungen werden nach Google aber häufig nicht von der besuchten Seite, sondern durch eingebettete Inhalte von Drittanbietern veranlasst.

„Der Autor der Seite hatte eine solche Weiterleitung nie beabsichtigt“, schreibt Google-Produktmanager Ryan Schoen dazu im Chromium-Blog. Deshalb ignoriere Chrome 64 in Zukunft alle Weiterleitungen aus Iframes von Drittanbietern heraus und zeige stattdessen nur eine Infoleiste an. „Das hält die Nutzer auf der Seite, die sie gerade lesen.“

Redirects aus solchen Iframes heraus wird Chrome künftig nur noch nach einer Interaktion mit dem Benutzer durchführen. Schoen weist aber darauf hin, dass auch solche Interaktionen missbraucht werden können.

Als Beispiel beschreibt er den Klick auf einen Link, bei dem sich ein neuer Tab öffnet, während der Ausgangstab im Hintergrund auf eine ganz andere Seite umgeleitet wird. Mit dieser Technik umgeht man letztlich Chromes Popup-Blocker. „Ab Chrome 65 erkennen wir auch dieses Verhalten, zeigen eine Infoleiste an und verhindern, dass der Haupt-Tab umgeleitet wird“, erläutert Produktmanager Schoen im Blogbeitrag.

Erstes Update für Firefox Klar

Seit einem Monat ist die Android-Version des Privatsphäre-Browsers Firefox Focus unter dem Namen Firefox Klar veröffentlicht.

Firefox Klar kann man kostenlos bei Google Play (Android) und bei iTunes (iOS) herunterladen. Für die nächsten Monate hat Mozilla weitere “tolle Updates” angekündigt.

Nachdem im letzten Monat schon eine Million Nutzer den Browser heruntergeladen haben, gibt Mozilla jetzt ein Update mit drei von den Usern gewünschten neuen Funktionen heraus.

Nicht für alle, aber für “die meisten Video-Seiten” bietet Firefox Klar einen Vollbild-Videomodus – dummerweise funktioniert das aber ausgerechnet beim weltweit meistgenutzten Video-Portal YouTube noch nicht.

Ein Fehler bei Google stört die Funktion. Sie soll aber nachgebessert werden, sobald Google die nötige Korrektur realisiert hat, verspricht der Hersteller.

Außerdem kann der Browser mit dem Update “alle Arten von Dateien herunterladen”. Die dritte Neuerung sind die jetzt mit einem Shortcut zu Firefox Klar ausgestatteten Benachrichtigungen. Diese kleinen Hinweise erinnern den Benutzer daran, seinen Suchverlauf zu löschen.

Sicherheitsupdate 3.7.3 für CMS Joomla

Mehrere schwere Sicherheitsprobleme mit der Einstufung „hoch“ werden mit dem aktuellen Security- und Bug-Fix-Release 3.7.3 von Joomla behoben. Dabei wurden auch mehrere andere Bugs in dem CMS beseitigt.

Zei der schweren Sicherheitslücken bestehen in den Versionen von 1.7.3 bis einschließlich 3.7.2. Durch die Lücke CVE-2017-9933 können Daten aus dem Cache leaken, die Lücke CVE-2017-9934 lässt sich wegen mangelnder Überprüfung von Dateneingaben für Angriffe per Cross Site Scripting (XSS) nutzen.

Die dritte schwere Lücke, ebenfalls eine Verwundbarkeit für mit Cross Site Scripting, ist sogar schon ab Version 1.5.0 bis Version 3.7.2 zu finden.

Daher sollten Nutzer der gefährdeten Joomla-Versionen möglichst umgehend die abgesicherte Version Joomla 3.7.3 installieren.

Vorbereiten auf PHP 7

Im August dieses Jahres endet der aktive Support für PHP 5. Danach gibt es noch ein Jahr länger Patches gegen Sicherheitslücken geben, aber so langsam müssen sich Entwickler und Anwender darauf einstellen, ihre PHP-Programme rechtzeitig auf die neue Version PHP 7 zu migrieren.

Durch diese klaren Festlegungen zur Support-Dauer wollen die Entwickler einen Fehler wie beim Erscheinen von PHP 5 vermeiden. Damals hatten sie nämlich kein eindeutiges Ende für die Vorversion PHP 4 vorgegeben, die deshalb noch recht lange gewartet werden musste.

Das PHP-Projekt hat PHP 7 genutzt, um viele zuvor als “deprecated” abgekündigte Altlasten aus PHP herauszunehmen und die teilweise inkonsistente und undokumentierte Semantik aufzuräumen. Unter anderem zur sauberen Implementierung eines abstrakten Syntaxbaums überarbeiteten die Entwickler die Syntax von PHP 7 bezüglich der Verwendung von Variablen.

PHP-Programmierer müssen aber nicht nur auf Altes verzichten – sie bekommen mit PHP 7 auch viele neue Features, die die Arbeit mit der Skriptsprache sicherer und komfortabler machen.

JavaScript ist weiter Nummer Eins bei RedMonk

Weiterhin stehen JavaScript und Java an der Spitze des Programmiersprachen-Rankings der Analysten von RedMonk. Dabei greifen die „Roten Mönche“ zur Bewertung von Verbreitung und Nutzung der Programmiersprache auf Daten der großen Entwickler-Communities StackOverflow und GitHub zurück.

Während die Auswertung der Daten von StackOverflow für die aktuellste Analyse auf unveränderte Art und Weise durchgeführt werden konnte, zwang GitHub dem Report eine deutliche Änderung auf. Bisher wurde dazu die Anzahl der in einer bestimmten Sprache gehaltener Repositories ausgewerten, und bei der Analyse des zweiten Quartals 2017 erfolgte die Analyse jetzt stattdessen anhand der Pull-Requests. Allerdings  korrelieren die Daten laut RedMonk recht gut, so daß eine gewisse Vergleichbarkeit erhalten bleibt.

Hier die Top Twenty der aktuellsten Ausgabe des RedMonk-Rankings:

Joomla-Update schließt SQL-Injection-Lücke

Die Version 3.7.0 des Content-Management-Systems (CMS) Joomla weist eine SQL-Injection-Lücke auf, durch welche Hacker eigene Datenbankbefehle in das CMS einschleusen können. Solche Schwachstellen können üble Folgen haben: Ein Angreifer könnte beispielsweise den Inhalt der Seite manipulieren und auf diese Weise Schadcode einschleusen oder aber auf die Nutzerdaten zugreifen.

Die Sicherheitslücke steckt im Joomla Core und hat die CVE-Nummer CVE-2017-8917. Vom Joomla-Team wird das Sicherheitsproblem mit dem zweithöchsten Schweregrad “Hoch” bewertet. Joomla gibt aber bisher keine Details bekannt – vermutlich, um Benutzer der verwundbaren Version zu schützen.

Die abgesicherte Version 3.7.1, die sich auf der Projektseite herunterladen lässt, beseitigt das Problem. Wer eine betroffene Joomla-Installation betreibt, sollte deshalb so schnell wie möglich auf diese aktuelle Version umsteigen.

Denn nun, wo der Patch einmal herausgegeben ist, können potentielle Angreifer durch Vergleich von Version 3.7.0 und Version 3.7.1 leicht herausfinden, an welcher Stelle es zu der mangelnden Prüfung eingehender Daten kommt und dann diese Lücke auch für ihre Zwecke missbrauchen.

CMS Joomla: Update auf Version 3.7

Über 1300 Änderungen und 700 neue Funktionen bringt das Joomla-Projekt in der gerade veröffentlichten Version 3.7 seines gleichnamigen Content-Management-Systems (CMS) als Open Source Software. Viele dieser Änderungen sind nur marginal, andere wiederum aber auch elementarer.

Deutlich mehr eigene Gestaltungsmöglichkeiten und Flexibilität sollen beispielsweise die eigenen Feldern (Custom Fields) bringen. Dazu stehen jetzt 15 unterschiedliche Feldtypen bereit, die der Administrator bereitstellen und die die Nutzer bei der Erstellung von Inhalten ausfüllen können.

Die „Custom Fields“ gestatten eine einheitliche Gestaltung des Layouts, auch wenn mehrere Redakteure die Inhalte zusammen erstellen. Die Felder lassen sich zu Feldgruppen zusammenfassen, die wiederum verschiedenen Kategorien oder Zugriffsebenen zugewiesen werden können.

Bei der Mehrsprachigkeit gibt es auch Verbesserungen. So können mit der neu eingeführten Komponente „Multilingual Associations“ Inhalte jetzt in einem Interface übersetzt werden. Auch die Anlage von neuen Artikeln wurde verbessert, so dass die Redakteure jetzt einen Menüpunkte, Artikel und Kategorien in einem Schritt erstellen können.

Keine modalen JavaScripts mehr in Chrome

Googles Browser Chromium soll in Zukunft anders mit JavaScript-Dialogen umgehen. Die Entwickler planen, dass solche Dialoge zumindest nicht mehr modal sind, das heißt, dass sie die JavaScript-Anwendung bis zur Reaktion des Nutzers anhalten. Die Methode ist bei Scammern beliebt, um Anwender beispielsweise auf vermeintliche Infektionen hinzuweisen.

Deshalb sollen über alert(), confirm() oder prompt() erstellte Dialoge demnächst nicht mehr App-modal sein, sondern wie auch schon in Safari 9.1 beim Wechseln des Tabs automatisch geschlossen werden. Ein Beitrag auf Googles Developer Site empfiehlt Entwicklern auch, JavaScript-Dialoge durch andere Methoden zu ersetzen: Für Benachrichtigungen wird die Notifications API empfohlen und für Eingaben des Nutzers das HTML-Element <dialog>.

Die sehr nervige Benutzung von onbeforeunload-Strings, die für Dialoge à laWollen Sie diese Seite wirklich verlassen?” beliebt sind, funktioniert in den aktuellen Versionen von Chrome, Firefox und Safari sowieso nicht mehr.

Mittelfristig möchte das Chromium-Team in den Google-Browser einen Gate-Mechanismus einbringen, der JavaScript-Dialoge auf Internetseiten komplett unterbindet, die insgesamt nur eine geringe Nutzerinteraktion anbieten.

c’t-Sonderheft „Programmieren“ im Handel

Programmierer müssen immer auf dem Laufenden sein, was aktuelle Entwicklungen in der Programmierung von Anwendungen (Programme bzw. Apps) angeht. Eine gute Quelle für Informationen zu aktuellen Trends, neuen Techniken mit Tutorials und Programmier-Projekten ist das gerade erschienene Sonderheft „Programmieren“ der führenden Computerzeitschrift c’t aus dem Hause Heise.

Zu einem der Schwerpunkte des Sonderhefts zählen mobile Apps für Android und iOS, denn viele Android-Entwickler suchen nach Alternativen zu Java wie beispielsweise JetBrains „Kotlin“. Kotlin bringt uns das Heft in einem dreiteiligen Tutorial (Einführung, Testmöglichkeiten und Architektur) näher.

Für Apple-Programmierer gibt es einen Zweiteiler zum Thema Sicherheit, der ihnen zeigt, wie sie sich gegen Angriffe auf ihre Apps wehren können.

In anderen Beiträgen werden komplexe Anwendungen mithilfe von Facebooks JavaScript-Framework React zerlegt und praktische Anwendungsbeispiele für einfache und komplexere Aufgaben unter Python behandelt.

Auch der Frage, wie progressive Web-Apps die Grenzen zwischen responsivem Webdesign und hybriden Apps verwischen könnten, wird in dem Sonderheft nachgegangen.

Ab sofort kann das 9,90 Euro teure Heft „c’t Programmieren 2017“ über den heise Shop vorbestellt werden. In Deutschland, Österreich und der Schweiz ist der Versand bis zum 26. März 2017 versandkostenfrei.

Als digitale Version kostet das Heft nur noch 8,99 Euro; bestellen kann man es über die c’t-App für Android oder iOS sowie im PDF-Format als E-Book. In der nächsten Woche (ab dem 20. März) ist das Sonderheft dann auch im Zeitschriftenhandel erhältlich.