Moin!
Die Performanceeinbußen eines zusätzlichen Funktionsaufrufs und unveränderter Stringausgabe sind zwar meß- aber nicht wahrnehmbar.
Das ist nicht ganz richtig.
Also falsch?
Denn gerade im verbreiteten Massenhosting auf hoch belasteten Servern wird sich jede Performanceverschlechterung in wahrnehmbarer Weise äußern,
Das ist nicht ganz richtig...
denn die einzelnen Verschlechterungen summieren sich zu abertausenden und Zeichenkettenoperationen sind, jedenfalls so weit ich darüber Bescheid weiß, sämtlich relativ "teuer".
"Die Performanceeinbußen EINES zusätzlichen Funktionsaufrufs und unveränderter Stringausgabe sind zwar meß- aber nicht wahrnehmbar".
Ermessen wir doch mal erstens, wieviele Funktionsaufrufe zum korrekten Behandeln von Kontextwechsels man pro Request so brauchen wird.
Zweitens dann, wieviel Extra-Performance ein einzelner Funktionsaufruf im Vergleich zu keinem Aufruf verbraucht wird.
Drittens dann, wieviel Performance man wohl tatsächlich erwartet, wenn man auf einem hochbelasteten Shared-Server auch nur irgendein Skript aufrufen lässt (Tipp: You get what you pay for), und ob es vernünftig ist, dieses generelle Performanceproblem durch aufwendige Mikrooptimierung im sicherheitsrelevanten Codebereich zu lösen.
Das dieses immer wieder von den Vertretern der "Du musst-hier-escapen-Fraktion" ignoriert wird wirkt doch recht zielorientiert. Ich hätte kein Problem damit, wenn irgendwer geschrieben hätte, dass diese Variante hinsichtlich möglicher, künftiger Änderungen sicherer ist.
Hatte ich geschrieben.
Im übrigen vermute ich, dass das Skript gar nicht mehr als diese Zeile(n) enthalten wird.
Das ist irrelevant. Es geht darum, als Vorbildfunktion die Anwendung von kontextgerechtem Escaping darzustellen.
- Sven Rautenberg