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

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

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

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

Сообщение BadBlock »

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

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

Сообщение rxu »

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

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

Сообщение BadBlock »

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

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

Сообщение rxu »

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

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

Сообщение BadBlock »

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

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

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

Сообщение rxu »

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

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

Сообщение Kuskow »

BadBlock писал(а): 10.06.2020 10:03
Kuskow писал(а): 10.06.2020 4: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
Стаж: 21 год 6 месяцев
Откуда: Саров, Россия
Благодарил (а): 8 раз
Поблагодарили: 14 раз

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

Сообщение BadBlock »

Kuskow писал(а): 12.06.2020 2: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 3:22, всего редактировалось 3 раза.
Аватара пользователя
Kuskow
phpBB 2.0.6
Сообщения: 520
Стаж: 10 лет 4 месяца
Откуда: 🇰🇿 Караганда
Благодарил (а): 42 раза
Поблагодарили: 53 раза

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

Сообщение Kuskow »

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

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

Сообщение BadBlock »

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

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

Сообщение im0 »

Pazh писал(а): 23.01.2019 21: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.4.0
Сообщения: 31
Стаж: 10 лет 7 месяцев
Благодарил (а): 15 раз
Поблагодарили: 9 раз

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

Сообщение im0 »

im0 писал(а): 02.04.2022 10: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 (архив)»