Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.

Сообщаем об ошибках phpBB 3.2.x разработчикам

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Внимание: с 7 ноября 2020 года phpBB Group завершает дальнейшее развитие phpBB версии 3.2.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.

Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
BadBlock
phpBB 1.4.3
Сообщения: 92
Стаж: 17 лет 6 месяцев
Откуда: Саров, Россия
Благодарил (а): 8 раз
Поблагодарили: 14 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение BadBlock »

Kuskow писал(а): 10.06.2020 7:54 [3.2.9] Если в поле "Откуда" в профиле поставить эмоджи или другой такой символ (🇰🇿 в моём случае), то вываливается ошибка:
открой таблицу phpbb_profile_fields_data - например, в phpMyAdmin. На вкладке Structure напротив колонки нажми Change и в дропдауне Collation выбери utf8mb4_general_ci. Так же можно поступить и с другими таблицами и колонками, в которые записывается юзерский ввод.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 15747
Стаж: 16 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 441 раз
Поблагодарили: 1510 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Потом получите какие-нибудь проблемы с работой и обновлением борды.
Изображение
Аватара пользователя
BadBlock
phpBB 1.4.3
Сообщения: 92
Стаж: 17 лет 6 месяцев
Откуда: Саров, Россия
Благодарил (а): 8 раз
Поблагодарили: 14 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение BadBlock »

rxu писал(а): 10.06.2020 14:57 Потом получите какие-нибудь проблемы с работой и обновлением борды.
Какие, например, проблемы?
Я у себя уже лет 5-6 назад во всех таблицах соответствующие колонки сконвертировал — ещё до того, как это было сделано в ядре.
Полёт нормальный.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 15747
Стаж: 16 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 441 раз
Поблагодарили: 1510 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

BadBlock писал(а): 10.06.2020 15:16 Какие, например, проблемы?
Например, исходя из различий кодировок https://dev.mysql.com/doc/refman/5.7/en ... rsion.html
Изображение
Аватара пользователя
BadBlock
phpBB 1.4.3
Сообщения: 92
Стаж: 17 лет 6 месяцев
Откуда: Саров, Россия
Благодарил (а): 8 раз
Поблагодарили: 14 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение BadBlock »

rxu писал(а): 10.06.2020 15:30 Например, исходя из различий кодировок
Так проблемы-то какие?

Впрочем, ради бога, я не настаиваю.
Моё дело предложить и указать, что метод уже лет 5 как у меня в продакшене.
Дальше сами решайте. :)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 15747
Стаж: 16 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 441 раз
Поблагодарили: 1510 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Kuskow писал(а): 10.06.2020 7:54 вываливается ошибка
Исправление https://github.com/phpbb/phpbb/pull/6006/files и только для 3.3, так как релиз 3.2.10 уже на выходе и скорее всего будет последним в ветке.
Изображение
Аватара пользователя
Kuskow
phpBB 1.4.4
Сообщения: 153
Стаж: 6 лет 4 месяца
Откуда: Караганда
Благодарил (а): 23 раза
Поблагодарили: 15 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Kuskow »

BadBlock писал(а): 10.06.2020 13:03
Kuskow писал(а): 10.06.2020 7:54 [3.2.9] Если в поле "Откуда" в профиле поставить эмоджи или другой такой символ (🇰🇿 в моём случае), то вываливается ошибка:
открой таблицу phpbb_profile_fields_data - например, в phpMyAdmin. На вкладке Structure напротив колонки нажми Change и в дропдауне Collation выбери utf8mb4_general_ci. Так же можно поступить и с другими таблицами и колонками, в которые записывается юзерский ввод.
Не прокатило. Такая же ошибка вываливается. В posts_text стоит utf8_unicode_ci - тоже попробовал, тоже не получилось, хотя в тексте сообщений этот символ вставить можно.
Аватара пользователя
BadBlock
phpBB 1.4.3
Сообщения: 92
Стаж: 17 лет 6 месяцев
Откуда: Саров, Россия
Благодарил (а): 8 раз
Поблагодарили: 14 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение BadBlock »

Kuskow писал(а): 12.06.2020 5:27 Не прокатило. Такая же ошибка вываливается. В posts_text стоит utf8_unicode_ci - тоже попробовал, тоже не получилось, хотя в тексте сообщений этот символ вставить можно.

У, блин, и точно. Тут не прокатывает.
Видимо, потому что в файле phpbb/db/driver/mysqli.php имеем:

Код: Выделить всё

@mysqli_query($this->db_connect_id, "SET NAMES 'utf8");

Сейчас на локальной копии попробовал поменять на

Код: Выделить всё

@mysqli_query($this->db_connect_id, "SET NAMES 'utf8mb4");
То есть, заменить utf8 на utf8mb4. Ошибка пропала, всё нормально сохраняется.
Конечно, править ядро затея грязноватая, крайне желательно все подобные изменения отслеживать через git.
Плюс конкретно это изменение я бы сперва немного потестил, чтобы убедиться, что всё в порядке.

Но на что не пойдёшь, чтобы разрешить в поле "Откуда" писать всякую чушь с эмодзями.
Хотя оно потом всё равно выводится в профиле как знак вопроса (реальную эмодзю видно только через phpMyAdmin). :D
Последний раз редактировалось BadBlock 12.06.2020 6:22, всего редактировалось 3 раза.
Аватара пользователя
Kuskow
phpBB 1.4.4
Сообщения: 153
Стаж: 6 лет 4 месяца
Откуда: Караганда
Благодарил (а): 23 раза
Поблагодарили: 15 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Kuskow »

BadBlock писал(а): 12.06.2020 6:04 не пойдёшь, чтобы разрешить в поле "Откуда" писать всякую чушь с эмодзями.
Вычёркиваем.
Аватара пользователя
BadBlock
phpBB 1.4.3
Сообщения: 92
Стаж: 17 лет 6 месяцев
Откуда: Саров, Россия
Благодарил (а): 8 раз
Поблагодарили: 14 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение BadBlock »

Kuskow писал(а): 12.06.2020 6:08Вычёркиваем.
Всё ж таки при таких делах лучше перейти на 5.3 и получить исправление, указанное выше товарищем rxu.
im0
phpBB 1.2.0
Сообщения: 17
Стаж: 6 лет 7 месяцев
Благодарил (а): 1 раз
Поблагодарили: 4 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение im0 »

Pazh писал(а): 24.01.2019 0:07 ^~ предписывает искать регулярку только с начала $request_url - в нашем случае это означает поиск только в корневой папке форума
Неправильно, модификатор ^~ используется в «нерегулярном» (обычном) локейшене и предписывает при максимальном совпадении этого локейшена вообще дальше не связываться с регулярками (сначала провряются обычные, запоминается максимально совпадающий и потом проверяются регулярные, а такой префикс даёт возможность исключить тяжёлую проверку регулярных выражений).

То есть правильно будет ставить крышку именно в начале регулярного выражения:

Код: Выделить всё

location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor)
Кроме того в этом случае совершенно излишняя конструкция (?<!ext/), которая пытается оставить phpbb и выгородить /ext/phpbb (зачем такая сложность?). Понятно что весь /ext получается открыт и это отдельная тема — там тоже можно позакрывать лишнее)

Ну и «раз пошла такая пьянка» то стоит упомянуть неупомянутое: bin|config|language, итого:

Код: Выделить всё

location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|phpbb|store|vendor|bin|config|language)
Ещё стоит обратить внимание что в примере nginx.sample.conf блок запрещения стоит после! блока php, а поскольку регулярные выражения обрабатываются в порядке появления в файле то до запрещения config\.php|common\.php никогда не дойдёт дела ;) Более того, все остальные php-шные урлы в запрещённых локейшенах тоже доступны ;)) То есть необходимо сначала ставить запрещающий блок а потом уже location ~ \.php(/|$)

Код: Выделить всё

# Deny access to internal phpbb files.
location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|phpbb|store|vendor|bin|config|language) {
…
# Pass the php scripts to FastCGI server specified in upstream declaration.
location ~ \.php(/|$) {
…
PS. Удачи всем в законопачивании различных дыр ;)
im0
phpBB 1.2.0
Сообщения: 17
Стаж: 6 лет 7 месяцев
Благодарил (а): 1 раз
Поблагодарили: 4 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение im0 »

im0 писал(а): 02.04.2022 13:45 там тоже можно позакрывать лишнее

Код: Выделить всё

# Есть *.html-шаблоны и папка event
location ~ ^/ext/[^/]+/[^/]+/adm/style/ {}
# location ~ ^/ext/[^/]+/[^/]+/styles/[^/]+/theme {}
# js тоже должен бы быть в theme, но его запихивают в template
location ~ ^/ext/[^/]+/[^/]+/styles/ {}
Ну и разумеется добавляем ext в запрещённые

Код: Выделить всё

location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|phpbb/|store|vendor|bin|config|language|ext)

Вернуться в «Поддержка phpBB 3.2.x»