News Sicherheit: Gefährliche Lücke in PHP-Webmailer

CryNickSystems schrieb:
@Gamer20:
Hast du den Artikel überhaupt gelesen?

Die Lücke ist nicht in PHP, sondern in einem in PHP geschriebenen Skript bzw. einer Library.

Genau so ist es! Ein Werkzeug ist nur so gut, wie der Handwerker, der es benutzt!
 
Crizzo schrieb:
Oh Ohgott...Jetzt geht das wieder los. Als wäre eine Alternative fehlerfrei...
Die Frage ist weniger, ob Alternativen fehlerfrei sind. Denn das ist eine Feststellung die in der Praxis niemanden weiter bringt. Weil Software ist nun mal nicht fehlerfrei. Deshalb kann es auch zu PHP keine fehlerfreien Alternativen geben.

Was Du daraus machen willst ist die simplifizierte Aussage: PHP ist zwar nicht fehlerfrei aber die anderen auch nicht, deshalb kann man ebensogut PHP nehmen.

Etwas differenzierter betrachtet sieht die Sache aber schon anders aus. Ohne Frage kann man auch in PHP gute Software stricken, ebenso wie man in den vermeindlich besseren Alternativen Murks zusammenschustern kann.

Die wirklich zentrale Frage ist, wie leicht oder schwer macht es einem die Sprache Fehler einzubauen. Und da bietet PHP eben eine höhere Dichte von Stolpersteinen als einige Alternativen.

Und wenn wir mal ehrlich sind, der Erfolg von PHP beruht im Wesentlichen auf zwei Dingen:
Man hat schnell ein Erfolgserlebnis. Einfache Dinge lassen sich einfach umsetzen. Das bedeutet zwar nicht immer, dass diese optimal oder sicherheitstechnisch gut sind, aber für den Anfänger zählt im ersten Schritt nur, dass es das tut, was er wollte.
Zweitens ist PHP auf jeden Feld, Wald und Wiesenhoster verfügbar.

Gäbe es diese zwei Punkte nicht, dann wäre PHP sicher nicht so verbreitet. Wobei man beim ersten Punkt sogar noch streiten kann, ob dies tatsächlich nur von PHP erfüllt wird.


Ned Stark schrieb:
Ja und welche Alternativen beherrscht ihr? Python, Ruby, Node.js oder auch ASP.NET sind allesamt um Welten besser.
node.js mit Javascript als bessere Alternative zu PHP zu positionieren ist mutig. :-)
Was (leider) nur selten auf irgendwems Radar ist, ist das Framework seaside, welches auf Smalltalk basiert und einen anderen Ansatz zur Web-Programmierung offeriert. Dieser wird auch z.B. in der Programmiersprache (bzw. seinen Bibliotheken) Racket aufgegriffen und lässt sich dort durch weitere Sachen wie z.B. static-typing ergänzen.
Zudem hievt es (meiner Meinung nach) die ganze Webentwicklung noch mal auf ein ganz anderes Niveau, als man das von den etablierten Lösungen gewohnt ist.

Ned Stark schrieb:
Vor 15 Jahren war PHP so gut wie alternativlos, heutzutage ist PHP keine Alternative mehr.
Naja. Alternativen gabs schon. Perl war ja mit so der ersten Sprachen, die für serverseitigen Kram benutzt wurden. Java-Servlets gabs. Und sogar ASP, wenn auch eher in einer Classic-Variante.
 
andy_m4 schrieb:
Die Frage ist weniger, ob Alternativen fehlerfrei sind. Denn das ist eine Feststellung die in der Praxis niemanden weiter bringt. Weil Software ist nun mal nicht fehlerfrei. Deshalb kann es auch zu PHP keine fehlerfreien Alternativen geben.

Was Du daraus machen willst ist die simplifizierte Aussage: PHP ist zwar nicht fehlerfrei aber die anderen auch nicht, deshalb kann man ebensogut PHP nehmen.
Ne, so war es nicht gemeint. PHP hat viele Vorteile und viele Nachteile oder Fallstricke zu bieten, die nicht so toll sind. Aber eher solch eine News oder eine Sicherheitslücke in einem PHP-Modul/-Programm als Aufhänger zu nutzen die Sprache generell als unnötig, veraltet, bla etc. abzustempeln ist eben mMn nicht angebracht.


andy_m4 schrieb:
Und wenn wir mal ehrlich sind, der Erfolg von PHP beruht im Wesentlichen auf zwei Dingen:
Man hat schnell ein Erfolgserlebnis. Einfache Dinge lassen sich einfach umsetzen. Das bedeutet zwar nicht immer, dass diese optimal oder sicherheitstechnisch gut sind, aber für den Anfänger zählt im ersten Schritt nur, dass es das tut, was er wollte.
Zweitens ist PHP auf jeden Feld, Wald und Wiesenhoster verfügbar.

Gäbe es diese zwei Punkte nicht, dann wäre PHP sicher nicht so verbreitet. Wobei man beim ersten Punkt sogar noch streiten kann, ob dies tatsächlich nur von PHP erfüllt wird.
Das kannst du halt quasi mit der jeder Script- und Programmiersprache machen. Wenn man halt die Vorteile Verfügbarkeit, Einsteigerfreundlichkeit oder analog irgendwas anderes, streicht, plötzlich bleiben weniger Vorteile übrig. Ach was?! :D

Wenn sich die ganzen, evtl. besseren, Alternativen nicht durchsetzen, dann sind die vielleicht doch nicht soooo geil, dass alle Welt daraufspringt oder die Sache braucht mehr Zeit. Von daher chillt mal, PHP hat seine Daseinsberechtigung und Funktionilität seit Jahren bewiesen und es wird wie alles im Web was nicht mit der Zeit geht, sofern brauchbare Alternativen vorhanden sind, mit der Zeit gehen. ;)
 
Crizzo schrieb:
Ne, so war es nicht gemeint. PHP hat viele Vorteile und viele Nachteile oder Fallstricke zu bieten, die nicht so toll sind. Aber eher solch eine News oder eine Sicherheitslücke in einem PHP-Modul/-Programm als Aufhänger zu nutzen die Sprache generell als unnötig, veraltet, bla etc. abzustempeln ist eben mMn nicht angebracht.
Kann man so sehen. Und wer so ne Diskussion nicht haben will, muss sich ja auch nicht daran beteiligen. Ganz einfache Sache.



Crizzo schrieb:
Das kannst du halt quasi mit der jeder Script- und Programmiersprache machen. Wenn man halt die Vorteile Verfügbarkeit, Einsteigerfreundlichkeit oder analog irgendwas anderes, streicht, plötzlich bleiben weniger Vorteile übrig. Ach was?! :D
Ich bezog mich bei der Kritik explizit auf Spracheigenschaften.


Crizzo schrieb:
Wenn sich die ganzen, evtl. besseren, Alternativen nicht durchsetzen, dann sind die vielleicht doch nicht soooo geil, dass alle Welt daraufspringt
In der Tat ist es immer wieder erstaunlich, warum sich so oft eigentlich eher suboptimale Lösungen durchsetzen.
Ging es um rein konzeptionelle oder technische Aspekte, wären Sprachen wie Javascript oder PHP sicherlich nicht so weit vorne.

Ein Punkt hab ich ja bereits genannt. Nämlich das man relativ schnell sichtbare Ergebnisse produzieren kann. Ähnliches galt/gilt ja z.B: auch für ähnliche Sprachen wie Visual Basic, VBA etc. Wenn man so will ist PHP das Visual Basic des Web. :-)

Das Problem dabei ist, dass es häufig Lösungen a-la "It works for me" produziert. Also unsaubere Lösungen die einem auch mal schnell um die Ohren fliegen können. Das klassische Beispiel ist so das verarbeiten von Eingaben via ''eval()''. Eine simple Lösung mit der man sehr schnell seien Ziele erreichen kann, aber halt auch schnell große Sicherheitslöcher produziert.

Andere Sprachen (selbst Skriptsprachen) versuchen dem Problem zu begegnen. Beispielsweise Ruby hat ein eingebauten Sicherheitsmechanismus, der verhindert, dass man externe Eingaben direkt so verwendet, wie sie sind. Das heißt, man ist mehr oder weniger gezwungen sie erstmal zu behandeln (überprüfen etc.), bevor man sie wirklich nutzbringend verwenden kann.

Das bewahrt einem nicht davor Unsinn zu machen. Aber solche Sachen lenken die Entwicklung in eine andere Richtung.
PHP tendiert dazu, dass das Sachen (scheinbar) möglichst schnell funktionieren. Der Programmierer muss im Gegenzug selbst darauf achten, mögliche Probleme und Sicherheitslücken zu vermeiden.

Bei Ruby/Rails ist das umgekehrt. Der Fokus liegt darauf, es sicher zu machen. Um den Preis das hingeschriebene Lösungen nicht sofort funktionieren. Wenn also etwas potentiell ein Sicherheitsproblem darstellt klappt es nicht. Der Programmierer wird also eher davor beschützt, unbeabsichtigt Fehler zu machen.

Übrigens nehmen sich ja neue Sprachversionen oder Frameworks den Schwächen von PHP durchaus an, indem sie beispielsweise Sachen aus anderen Sprachen übernehmen.
Was man ja als Eingeständnis dafür werten kann, dass das bisherige Sprachdesign ja doch nicht so toll war. Leider ist dieses nachträgliche einfügen von teilweise grundlegenden Features nicht so gut. Denn am Ende hast Du ein wildes Durcheinander und die Sprache selbst folgt keinen klaren Konzept mehr, was wiederum die Benutzbarkeit erschwert und neue Probleme erzeugt.

Facebook betreibt ja auch immensen Aufwand, um sein PHP-Code geradezuziehen und PHP-Probleme zu lösen.
Man denke nur an HipHop, einen PHP-to-C++-Compiler um die Geschwindigkeit in den Griff zu kriegen. Oder die von Facebook entwickelte Sprache Hack, die PHP um z.B: statische Typisierung u.v.m. ergänzt.
Oder auch die Investitionen von Facebook in Sprachen wie Haskell.

Solchen Aufwand würde man sicher nicht betreiben, wenn PHP so großartig wäre. Aber auch ein schönes Beispiel dafür, was passiert, wenn man sein Projekt nicht von Anfang an auf eine solide Basis stellt. Wobei Facebook noch das Glück hat das nötige "Kleingeld" zu haben, um solche massiven Umbauten stemmen zu können.


Crizzo schrieb:
oder die Sache braucht mehr Zeit.
Jain. Kurzfristig betrachtet hast Du Recht. Schnell irgendne Lösung hinfrickeln geht in PHP gut.
Langfristig betrachtet (so behaupte ich mal), braucht man bei PHP eher mehr Zeit um ein qualitatives Produkt zu erstellen und zu warten.

Crizzo schrieb:
Von daher chillt mal, PHP hat seine Daseinsberechtigung und Funktionilität seit Jahren bewiesen
Es würde ja auch niemand ersthaft behaupten, dass PHP komplett unnütz ist oder keine Erfolge vorweisen kann. Die Frage ist eher, ob es immer das richtige Tool ist. Und oftmals wird sich auch nicht wirklich darüber Gedanken gemacht.

Das fällt mir auch immer wieder bei Neulingen auf, die wie selbstverständlich davon ausgehen, dass man für (serverseitige) Webprogrammierung PHP und MySQL braucht. Die haben gar nicht im Blick, dass es auch andere Möglichkeiten gibt. Und nicht selten ist ja PHP auch einfach nur "gut genug".
 
Zurück
Oben