phpbar.de logo

Mailinglisten-Archive

[php] dynamische Funktionen

[php] dynamische Funktionen

Ulf Wendel ulf_(at)_redsys.de
Wed, 26 Apr 2000 21:14:34 +0200


Christoph Aigner wrote:
> für die Bildung von Variablen verwendet man ja $var =
> ${$varinhalt."blabla"};
> 
> wie macht man das selbe, für Funktionsnamen?

Hartmut hat bereits die korrekte Antwort gegeben. 

Der Vollständigkeit wegen noch der Hinweis: achtet bei derartigen
Aktionen auf die Sicherheit. Variable variables, Variable functions und
eval() sind typische Angriffspunkte für DOS oder schlimmere Attaken, die
bei kommerzieller Software mehr als nur peinlich sind. Hier scheint der
Programmierer die möglichen Werte zu bestimmen, kein Grund zur Panik. 

Hat man jedoch Situationen in denen der User die Werte bestimmt (auch
ein Programmierer ist ein User, wenn er eine Bibliothek benutzt!), muß
ein strenger Test erfolgen. Hierzu sollte man bei eval()/variable
variables die Menge der erlaubten Zeichen soweit wie möglich begrenzen
([a-zA-Z_0-9]+) und bei variable function mit is_function() vorher einen
Test durchführen.

Ulf


php::bar PHP Wiki   -   Listenarchive