[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка на phpbb форуме
vga
Добрый день,
phpbb форум 2 версии, ошибка скорей связана в php, чем с самим форумом.
Был взлом форума, возможно попортили какие-то файлы не связанные с самим форумом. Дайте идеи, в какой направлении искать?

Вверху форума стали появляться такие сообщения
Цитата
Warning: preg_match_all() [function.preg-match-all]: No ending delimiter '#' found in /home/webmaster/www/xxxx.ru/includes/bbcode.php on line 590

Warning: preg_replace() [function.preg-replace]: No ending delimiter '#' found in /home/webmaster/www/xxxx.ru/includes/bbcode.php on line 246

Warning: preg_match_all() [function.preg-match-all]: No ending delimiter '#' found in /home/webmaster/www/xxxx.ru/includes/bbcode.php on line 590

Warning: preg_replace() [function.preg-replace]: No ending delimiter '#' found in /home/webmaster/www/xxxx.ru/includes/bbcode.php on line 246


246 строка последняя в фрагменте из bbcode.php

	// matches a xxxx://www.phpbb.com code..
$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];

// http://www.phpbb.com code.. (no xxxx:// prefix).
$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url2'];

// phpBB code..
$patterns[] = "#\+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url3'];

// [url=www.phpbb.com]phpBB
code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url4'];

// user@domain.tld code..
$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
$replacements[] = $bbcode_tpl['email'];

$text = preg_replace($patterns, $replacements, $text);


590 строка
Цитата
$match_count = preg_match_all("#\[code:1:$uid\](.*?)\[/code:1:$uid\]#si", $text, $matches);
Игорь_Vasinsky
у вас по факту ошибки в 2х строках

покажите эти строки.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (vga @ 23.02.2013 - 18:57)
590 строка
Цитата 
$match_count = preg_match_all("#\[code:1:$uid\](.*?)\[/code:1:$uid\]#si", $text, $matches);

в этой строчке нет ошибки. Она точно из того файла?
OleKh
#\+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#

ошибка синтаксиса или заменен ( на +, или удален (
#\+(?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#

#\[code:1:$uid\](.*?)\[/code:1:$uid\]#

если в переменную $uid передать ## - получится вышеуказанная ошибка на line 590
Игорь_Vasinsky
http://php.net/manual/ru/function.preg-quote.php - для обработки данных.
и измени делемитеры на слеши

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
OleKh
Цитата (Игорь_Vasinsky @ 24.02.2013 - 18:51)
для обработки данных

символ # не является служебным символом в регулярных выражениях
Цитата
измени делемитеры на слеши

для чего? символ / - часть регулярного выражения, может добавить /, то есть экранировать - другое дело
Игорь_Vasinsky
Цитата
символ # не является служебным символом в регулярных выражениях


а я что сказал что # будет экранироваться????

я сказал заменить делемитеры и использовать preg-quote()

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.