Sven Rautenberg: PHP-Gegurke

Beitrag lesen

Moin!

Das ist doch prima, wenn was programmiert werden kann, was tut, was gewünscht war.

Ja, wenn du "auf den ersten Blick" geflissentlich überlesen magst ;-)

In Flamewars überlese ich Aussagen, die mir nicht in den Kram passen, grundsätzlich - das sollte doch zur normalen Verhaltensweise in solchen Schauplätzen gehören, oder? ;)

Andere Sprachen haben natürlich auch ihre Fallstricke - C und seine sich allzu leicht einschleichenden Buffer Overflows sind ja beispielsweise auch ein immer wieder gern gesehenes Gespann - aber gerade PHP mit seinem laxen Umgang mit Variablentypen, Einstellungen wie register_globals und allow_url_fopen etc. lässt viele Einsteiger schnell Ergebnisse erreichen, die "mehr können", als eigentlich beabsichtigt war.

Schön, dass du C mit einbringst. Warum wird gegen DIESE Sprache denn nicht eigentlich genauso gewettert, wie gegen PHP? Die Tatsache, dass man mit einem einzigen "passenden" Buffer-Overflow meist den gesamten Server übernehmen kann, hat sich schon millionenfach abgespielt, die Security-Alert-Logs sprechen da Bände. Und das, obwohl C ja nun eher keine Sprache ist, mit der Anfänger leichtfertig und ad-hoc operieren. Die ernsthaften Sicherheitsprobleme spielen sich jedenfalls immer in professionell aufgezogener Software ab.

Features wie register_globals und allow_url_fopen in PHP sind auch nur potentiell gefährlich. Unbestreitbar bieten sie ein Potential für Angriffe - die sich andererseits aber in Massen nur bei PHP-Standardsoftware abspielen, wie phpBB - und das wiederum wird nicht von Anfängern programmiert.

Ich bleibe dabei: PHP bietet, wie jede andere im Web verwendbare Sprache auch, gewisse Risiken - aber nicht außerordentlich mehr, als andere Sprachen.

Und was den "laxen Umgang mit Variablentypen" angeht - das ist in meine Augen eine echte Stärke von PHP, aber eben auch keine neue Erfindung. Es hat immer schon Programmiersprachen mit laxer und starker Typisierung gegeben. Pascal dürfte da als extremes Beispiel herausragen (mit TurboPascal 3.0 habe ich seinerzeit in der Schule angefangen).

Programmiersprachen inklusive ihrer Features entstehen, weil man mit ihrem Abstraktionsgrad die anfallenden Probleme lösen kann. Offenbar ist PHP mit seinem Abstraktionsgrad, dem angebotenen Funktionsvorrat und der Art der Variablenbehandlung für typische Probleme, die im Webumfeld entstehen, und für die verfügbaren Programmierer-Level (Anfänger bis Profis), sehr gut geeignet, sonst wäre es nicht so beliebt.

Und anscheinend ist es auch nicht grundsätzlich unsicher, ansonsten wären viel mehr PHP-Seiten gehackt. ;)

- Sven Rautenberg

--
"Love your nation - respect the others."