von subjective |
Dies ($search) ist konzeptionell keine Konfiguration sondern eher Stammdaten der Anwendung. Ich würde dir ein einfacher einlesbareres Format (serialize, csv, xml, ...) empfehlen.
Außerdem solltest du keinen PHP-Quellcode dynamisch schreiben. Wenn ein Angreifer es schafft, an den Eingabeprüfungen/dem Escaping vorbei PHP-Quellcode zu schreiben, kann er alles machen was du mit PHP auch kannst (DB-Passwort lesen und schreiben z.B.)
Falls du es dennoch unbedingt machen willst, helfen dir die Funktionen file_get_contents und preg_match_all. Kann jedoch beliebig komplex werden. |
von dfritz79 |
Hallo zusammen,
ich habe eine Configdatei, die unter anderen den für mich interessanten folgenden Inhalt hat.
# Database Definitions
# $database_type can be mysql or psql
$database_type = "mysql" ;
$database_host = "localhost" ;
$database_user = "myswatch" ;
$database_password = "mxxxxx";
$database_name = "axxxxxxxx" ;
# Search patterns
# WARNING: White is the default color used when there is no match so don't use it here
@search = (
[ 'ERROR TEST', 'bold blink blue', 'support@domain.com', 'My-Swatch Error' , 'no', 'ignore' ] ,
[ 'TEST LOGIN FAILED', 'bold red', '', '', 'yes', 'ignore' ] ,
[ 'martian', 'ignore', '', '' ,'no', 'ignore' ] , #This will not be printed by my-swatch
[ 'exiting on signal|reboot|Reboot|halt|panic', 'green', 'support@domain.com', 'Machine went out' ,'Yes', '/usr/bin/wavplay /security/killed.wav' ] ,
[ 'Apache', 'green', '', '' , 'yes', '','1001' ] ,
[ 'shutting down', 'red', '', '' , 'yes', '', '1099' ]
) ;
Der Kursive Bereich ist für mich interessant. Ich möchte den gerne mit PHP immer so eine Configzeile einfügen können in das File. Allerdings tellt sich für mich das Problem mit dem ); und dem fehlenden "," am Ende der letzten Reihe.
Kann mir jemand einen Ratschlag geben, wie ich z.B. immer eine Zeile vor die Zeile [ 'Apache', 'green', '', '' , 'yes', '','1001' ] , einfügen kann und mit einem ähnlichen Konfigtext füllen kann ?
Über ein paar Tips würde ich mich sehr freuen.
Gruß DFritz |
|