@@ -41,7 +41,7 @@ function getUser() {
4141# Ermittlung der Benutzer-ID des aktuell angemeldeten Benutzers
4242# (Zur Nutzung im jeweiligen Controller)
4343function getUserId () {
44- return $ this -> user_id ;
44+ return $ this ->user_id ;
4545}
4646
4747# Methode zum Encodieren von Arrays in *.csv-Strings
@@ -75,17 +75,21 @@ function csvEncode($data) {
7575# Methode zum uebergeben des Benutzers an den Dispatcher
7676# ermittelt den zugeordneten Mandanten und setzt dessen id in das Feld $this->mandant_id
7777function setRemoteUser ($ user ) {
78- $ db = getDbConnection ();
79- $ this ->user = $ user ;
80- $ rs = mysqli_query ($ db , "select mandant_id, user_id from fi_user where user_name = ' $ user' " );
81- if ($ rs && $ obj = mysqli_fetch_object ($ rs )) {
82- $ this ->mandant = $ obj ->mandant_id ;
83- $ this ->user_id = $ obj ->user_id ;
78+ if ($ this ->isValidUserName ($ user )) {
79+ $ db = getDbConnection ();
80+ $ this ->user = $ user ;
81+ $ rs = mysqli_query ($ db , "select mandant_id, user_id from fi_user where user_name = ' $ user' " );
82+ if ($ rs && $ obj = mysqli_fetch_object ($ rs )) {
83+ $ this ->mandant = $ obj ->mandant_id ;
84+ $ this ->user_id = $ obj ->user_id ;
85+ } else {
86+ throw new Exception ("Kein Mandant für den Benutzer $ user konfiguriert " );
87+ }
88+ mysqli_close ($ db );
89+ //logX("Remote use ".$this->user." registered");
8490 } else {
85- throw new Exception ("Kein Mandant für den Benutzer $ user konfiguriert " );
91+ throw new Exception ("Der Benutzername enthält ungültige Zeichen " );
8692 }
87- mysqli_close ($ db );
88- logX ("Remote use " .$ this ->user ." registered " );
8993}
9094
9195# Ein Objekt der angefragten Controller-Klasse laden
@@ -116,6 +120,13 @@ function isValidControllerName() {
116120 return count ($ results ) == 0 ;
117121}
118122
123+ # Prüft, ob der Benutzername keine ungültigen Zeichen enthält
124+ function isValidUserName ($ username ) {
125+ $ pattern = "/[']/ " ;
126+ preg_match ($ pattern , $ username , $ results );
127+ return count ($ results ) == 0 ;
128+ }
129+
119130# Die angefragte Action ermitteln
120131function getActionName () {
121132 return $ this ->request ['action ' ];
0 commit comments