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

Поисковая оптимизация форума

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 5 месяцев
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Поисковая оптимизация форума

Сообщение Shredder »

владимир1983 писал(а):Что при этом с уже добавленными изображениями которые размещались в тегах img?
Перезаливали вручную. Это года 2 назад было. Тогда ещё не было мода Конвертация изображений из тега img в вложения
владимир1983 писал(а):Что происходит при постинге в случае когда в посте
То же самое, что и при обычной ссылке - http://I_forum.ru/I_picture.jpg - пользователю показывается сообщение со ссылкой на пункт правил форума, где объясняется, что добавка изображений разрешена только через вложения и с инструкцией, как это сделать.

Реализовал так:
message_parser.php, найти:

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

		// Prepare BBcode (just prepares some tags for better parsing)
Добавить перед:

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

		// Check for images from disallowed sites
		global $post_id;

		if (isset($post_id))
		{
			preg_match_all('#' . get_preg_expression('url') . '|' . get_preg_expression('www_url') . '#iu', $this->message, $matches);
			foreach ($matches[0] as $match)
			{
				if (!preg_match('#(?:ninjaturtles\.ru)#iu', $match) && preg_match('#\.(?:gif|jpg|jpe|png|bmp)#iu', $match))
				{
					$this->warn_msg[] = $user->lang['DISALLOWED_SITE'];
					return (!$update_this_message) ? $return_message : $this->warn_msg;
				}
			}
		}
Нюансы:
1) Проверка на $post_id в самом начале кода здесь нужна для того, чтобы отсеять личные сообщения - в личных сообщениях картинки с сайтов у меня разрешены. При желании это легко изменить, убрав проверку
2) !preg_match('#(?:ninjaturtles\.ru) - это проверка на собственный сайт, картинки с которого тоже разрешены. Вместо имени моего сайта туда нужно подставить свой.
3) Языковая переменная DISALLOWED_SITE (текст предупреждения) тоже может быть любая, своя.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Поисковая оптимизация форума

Сообщение владимир1983 »

Shredder писал(а):Перезаливали вручную
Ну судя по коду старые изображения в тегах img будут работать. Меня это интересовало.
Shredder писал(а):Тогда ещё не было мода
Кстати там конфликт с твоим модом. А так то удобный мод. Для того кто будет заморачиватся с миграцией изображений на свой сервер со сторонних вещь очень полезная. Подружить не думаешь с Multiple File Upload?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 5 месяцев
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Поисковая оптимизация форума

Сообщение Shredder »

владимир1983 писал(а):Ну судя по коду старые изображения в тегах img будут работать. Меня это интересовало.
Будут. Но при редактировании поста со старыми картинками будет показываться предупреждение, т.е. отредактировать будет нельзя. Хотя теоретически это легко исправить.
владимир1983 писал(а):Кстати там конфликт с твоим модом. А так то удобный мод. Для того кто будет заморачиватся с миграцией изображений на свой сервер со сторонних вещь очень полезная. Подружить не думаешь с Multiple File Upload?
Если будет возможность, как-нибудь может и посмотрю :)
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Поисковая оптимизация форума

Сообщение владимир1983 »

Shredder писал(а):Но при редактировании поста со старыми картинками
Это понятно.
У тебя проверка осуществляется по телу поста только на наличие запрещенных расширений, в случае обнаружения запрещенного расширения сообщение не поститься и выводиться ланг переменная с ошибкой. Не считаешь что прямые ссылки на изображения имеют право на постинг?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 5 месяцев
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Поисковая оптимизация форума

Сообщение Shredder »

владимир1983 писал(а):Не считаешь что прямые ссылки на изображения имеют право на постинг?
На фотохостингах они с таким же успехом будут избиваться. Поэтому не вижу смысла разрешать только через тег img, а через обычные ссылки возможность оставлять.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Поисковая оптимизация форума

Сообщение владимир1983 »

Я не вижу зла в прямых ссылках на изображения без обрамления тегами img. Т.е. если не надо парсить тег img и ждать ответ от стороннего сервера(как правило тормознутого) и терять на скорости загрузки страницы, то фиг с ним, пусть будут прямые ссылки в посте, мне не убудет. rel="nofollow" наше все...
У меня на форуме постят очень много изображений, многие люди на фотохостингах имеют аки и целые каталогизированные галереи фото с которых и берут ссылки на изображения. Я думаю у меня паника среди таких пользователей начнётся если запретить такие ссылки. А так компромисс. Хочешь чтобы было изображение в посте, делай атач, не хочешь, делай прямую ссылку. Тег img запрещён. У тебя твои не воют после такого радикального подхода?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
romeo_piter
phpBB 2.0.21
Сообщения: 1322
Стаж: 15 лет 1 месяц
Благодарил (а): 160 раз
Поблагодарили: 21 раз

Re: Поисковая оптимизация форума

Сообщение romeo_piter »

Насчет алгоритмов и пессимизации я не хочу спорить, тк спор бесполезен.
Алгоритмы досконально знают лишь создатели и не дают их в паблик. В паблике только ошметки информации.

Насчет запрета img и заменой его ссылкой было бы идеально, тем более что ссылки у меня идут через go.php
Только народ мне это сделать не даст, наверное )
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 5 месяцев
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Поисковая оптимизация форума

Сообщение Shredder »

владимир1983 писал(а):У тебя твои не воют после такого радикального подхода?
Не замечал. Ну у каждого сайта своя специфика.
Там не сложно сделать, чтобы работало только с img. Часть:

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

' . get_preg_expression('url') . '|' . get_preg_expression('www_url') . '
нужно заменить на:

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

\[img\](' . get_preg_expression('url') . '|' . get_preg_expression('www_url') . ')\[\/img\]
По-моему, этого будет достаточно.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Поисковая оптимизация форума

Сообщение владимир1983 »

romeo_piter писал(а):Только народ
Когда я открываю тему в которой 10 изображений с радикала по 1.5-2 mb каждое, при этом канал радикала еле шевелится(как обычно) то любая возмущённая толпа такого народа объединившись в массу может смело идти в лесо по грибы с моим добрым напутствием.

Добавлено спустя 6 минут 39 секунд:
Shredder писал(а):По-моему, этого будет достаточно.
Надо инструкцию делать! Это полноценный мод который будет востребован. Многих зае замучил радикал.
Делать то не много, подлечить
Shredder писал(а):if (!preg_match('#(?:ninjaturtles\.ru)#iu', $match) && preg_match('#\.
и будет всё гут!
Ну и конечно надо мод подружить Конвертация изображений из тега img в вложения :mrgreen: чтобы не руками перезаливать уже имеющиеся фото в img теге.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
romeo_piter
phpBB 2.0.21
Сообщения: 1322
Стаж: 15 лет 1 месяц
Благодарил (а): 160 раз
Поблагодарили: 21 раз

Re: Поисковая оптимизация форума

Сообщение romeo_piter »

Shredder писал(а):Реализовал так:
message_parser.php
Попробовал, спасибо. Неплохой вариант. Если бунта не будет - воспользуюсь, только изображения с моего сайта тоже не проходят. Хотя там ошибиться в коде сложно, непонятно (

Добавлено спустя 9 минут 35 секунд:
Со ссылкой разобрался, не увидел эту правку:
Поисковая оптимизация форума
владимир1983 писал(а):Делать то не много, подлечить
Владимир, а что в этой строке не так? С ней всё работает.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Поисковая оптимизация форума

Сообщение владимир1983 »

romeo_piter писал(а):что в этой строке не так?
"Подлечить" - это применительно в случае если автор будет делать мод. В том виде что он сейчас оформлять нельзя. Автор знает где в его коде узкие места.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
romeo_piter
phpBB 2.0.21
Сообщения: 1322
Стаж: 15 лет 1 месяц
Благодарил (а): 160 раз
Поблагодарили: 21 раз

Re: Поисковая оптимизация форума

Сообщение romeo_piter »

Понял.

Меня уже успели 2 человека обвинить в нетолерантности при обсуждении этого варианта запрета. (на моем форуме ес-но ) ))
Ostrdim вроде хотел писать мод-выдергивалку изображений из img в обычное вложение.
Вот это было бы идеально, и волки сыты и овцы целы.
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 5 месяцев
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Поисковая оптимизация форума

Сообщение Shredder »

владимир1983 писал(а):подлечить
Вместо (?:ninjaturtles.ru) можно использовать ' . $config['server_name'] . ' - это имя домена из раздела "Настройки сервера" (для тех, кто не знает). Но не совсем понятно, как preg_match будет реагировать на специальные символы, встречающиеся в имени домена, такие как точка, слэш и т.п. Не сделал через $config только из этих соображений.

В качестве мода офомить уже думал. Надо как-нибудь будет заняться.

Добавлено спустя 4 минуты 51 секунду:
Кажется, нашёл ответ на свой последний вопрос. Использовать preg_quote?

Добавлено спустя 10 минут 2 секунды:
Думается, что вот это будет идеальным вариантом:
Вместо

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

!preg_match('#(?:ninjaturtles\.ru)#iu', $match)
в коде использовать

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

!preg_match('#' . preg_quote(str_replace('www.', '', $config['server_name'])) . '#iu', $match)
Вроде работает.
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 5 месяцев
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Поисковая оптимизация форума

Сообщение Shredder »

владимир1983 писал(а):Надо инструкцию делать! Это полноценный мод который будет востребован. Многих зае замучил радикал.
Делать то не много, подлечить
Переписал простой скрипт, который обсуждался выше, и сделал полноценный мод с администраторским управлением. Забрать можно у меня на сайте: Запрет картинок с внешних сайтов - Disallow external images

Перед установкой рекомендуется прочитать все замечания по работе мода.

Инструкции из этой темы выполнять не нужно, они не имеют никакого отношения к получившемуся моду, т.к. код был основательно переписан. Если кто-то делал правки из темы, перед установкой мода их нужно удалить.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Поисковая оптимизация форума

Сообщение владимир1983 »

Shredder ИМХО для популяризации мода стоит создать и на гуру топик по моду с указанием ссылки на форум автора и возможную поддержку там.

Добавлено спустя 1 минуту 39 секунд:
На валидацию подавать будешь?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)

Вернуться в «phpBB-пространство»