Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 3211 Просмотров
*

Karna

  • Новичок
  • 3
  • 0 / 0
Здравствуйте.
Мне "в наследство" достался сайт школы, разбираюсь с нуля (учитель математики), так что не судите строго, если сморожу глупость.

Сайт на Joomla 1.0.12, я уже поняла, что это старье, но пока что есть. Последние 2 года на сайт только добавлялись новости никаких расширений не ставилось. Я посмотрела в диспетчере файлов - за 2 года новых не появилось (только картинки к новостям в определенной папке). Посещаемость низкая. И вдруг - скачок нагрузки на CPU (в десятки раз!) - и хостер отрубает сайт.
По данных хостера пиковую нагрузку создают процессы

httpd [mysite] [/rukovod/joxypygoq-916.html]
httpd [mysite] [/rukovod/porawaso-639.html]
httpd [mysite] [/rukovod/vizakamitypaq-168.html]

Но! На сайте нет папки "rukovod"! И всех этих файлов, соответственно, тоже.

Я нашла в cpanel журнал доступа, оказалось, что это поисковые боты, если я правильно понимаю содержание подобных строк:
157.55.39.112 - - [25/Nov/2014:14:49:09 +0300] "GET /rukovod/nuloxevukuf-2438.html HTTP/1.0" 200 - "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

Особенно усердствуют вот этот bingbot и Google.

Я сделала вот что:

1. В robots.txt прописала
Код
User-agent: *
Disallow: /
Сначала писала для конкретных ботов, но толку не было - заходили все равно. И сейчас заходят, ничего не изменилось. Что я делаю не так? Как правильно написать запрет для поисковых ботов?

2. В файле .htaccess в папке public_html пробовала писать разное (что нашла на форумах):
Код
SetEnvIfNoCase User-Agent "*bingbot" badbingbot
Deny from env=badbingbot
и
Код
RewriteCond %{USER_AGENT} Googlebot
RewriteRule .* - [F]
и
Код
# список юзерагентов которым мы запрещаем доступ

SetEnvIfNoCase User-Agent JS-Kit bad_bot
SetEnvIfNoCase User-Agent PostRank bad_bot
SetEnvIfNoCase User-Agent Python-urllib bad_bot
SetEnvIfNoCase User-Agent UnwindFetchor bad_bot
SetEnvIfNoCase User-Agent facebookexternalhit bad_bot
SetEnvIfNoCase User-Agent TweetmemeBot bad_bot
SetEnvIfNoCase User-Agent Butterfly bad_bot
SetEnvIfNoCase User-Agent MFE_expand bad_bot
SetEnvIfNoCase User-Agent Java bad_bot
SetEnvIfNoCase User-Agent Summify bad_bot
SetEnvIfNoCase User-Agent MetaURI bad_bot
SetEnvIfNoCase User-Agent FlipboardProxy bad_bot
SetEnvIfNoCase User-Agent ScribdReader bad_bot
SetEnvIfNoCase User-Agent RockMelt bad_bot
SetEnvIfNoCase User-Agent InAGist bad_bot
SetEnvIfNoCase User-Agent NING bad_bot
SetEnvIfNoCase User-Agent TweetedTimes bad_bot
SetEnvIfNoCase User-Agent PaperLiBot bad_bot
SetEnvIfNoCase User-Agent Library bad_bot
SetEnvIfNoCase User-Agent Ezooms bad_bot
SetEnvIfNoCase User-Agent strawberryj bad_bot
SetEnvIfNoCase User-Agent Scooper bad_bot
SetEnvIfNoCase User-Agent Ahrefs bad_bot
SetEnvIfNoCase User-Agent Spider bad_bot
SetEnvIfNoCase User-Agent None bad_bot
SetEnvIfNoCase User-Agent EventMachine bad_bot
SetEnvIfNoCase User-Agent aiHitBot bad_bot
SetEnvIfNoCase User-Agent SolomonoBot bad_bot
SetEnvIfNoCase User-Agent SearchBot bad_bot
SetEnvIfNoCase User-Agent Wget bad_bot
SetEnvIfNoCase User-Agent Crawler bad_bot
SetEnvIfNoCase User-Agent bingbot bad_bot
SetEnvIfNoCase User-Agent Googlebot bad_bot
SetEnvIfNoCase User-Agent bingbot bad_bot

Deny from env=bad_bot

и все бес толку ((

3. Пробовала в том же .htaccess заблокировать самые популярные IP. И вот здесь самое непонятное - когда я пробы ради пишу туда свой IP - все работает, сайт мне недоступен. А когда выписываю IP, с которых заходят эти боты - они продолжают заходить как раньше!
В cPanel есть диспетчер запрещенных IP-адресов, с ним точно та же ерунда.

Сейчас таблица последних посетителей выглядит так:

Все эти IP - заблокированы. Папки rukovod на сайте нет. Что делать? У меня 2 дня, чтобы исправить ситуацию.
*

evgen777

  • Давно я тут
  • 657
  • 62 / 2
Re: Избавиться от поисковых ботов
« Ответ #1 : 26.11.2014, 07:56:11 »
Похоже что сайт взломан и на нем размещен дорвей. Содержимое.htaccess сюда между
Код
[spoiler][/spoiler]
выложите.
Разработка, доработка расширений для Joomla!
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Избавиться от поисковых ботов
« Ответ #2 : 26.11.2014, 08:11:13 »
Цитировать
Я сделала вот что:

1. В robots.txt прописала
Код:

User-agent: *
Disallow: /
Это просто закрыть от индексации. Сайт в поиске уйдет через 2-3 недели.
Тут рядом почти такая же тема про Joomla 1.0
*

Karna

  • Новичок
  • 3
  • 0 / 0
Re: Избавиться от поисковых ботов
« Ответ #3 : 26.11.2014, 08:34:16 »
Похоже что сайт взломан и на нем размещен дорвей. Содержимое.htaccess сюда выложите.
Вот:
Спойлер
[свернуть]

Это просто закрыть от индексации. Сайт в поиске уйдет через 2-3 недели.
То есть просматривать его боты будут все равно? Тогда бестолку ( Пусть бы ушел из поиска, пока я не разберусь, все лучше, чем если хостер его вообще закроет (

Тут рядом почти такая же тема про Joomla 1.0
Извините, я правда совсем чайник, дальше экселя и почты в it не залазила. Даже не могу понять, какая тема ту же проблему описывает, а какая - похожую, но другую.
*

evgen777

  • Давно я тут
  • 657
  • 62 / 2
Re: Избавиться от поисковых ботов
« Ответ #4 : 26.11.2014, 08:47:00 »
Так и есть, сайт взломан.
Вот это в .htaccess удалить
Код
RewriteRule ^rukovod/(.*)$ /includes/version.php?r_id=$1 [L,QSA]
И файл /includes/version.php приложите к сообщению в zip-архиве.
И ищите шелл, тут написано как http://joomlaforum.ru/index.php/topic,246899.msg1509370.html#new
« Последнее редактирование: 26.11.2014, 08:51:01 от evgen777 »
Разработка, доработка расширений для Joomla!
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Избавиться от поисковых ботов
« Ответ #5 : 26.11.2014, 08:56:16 »
И еще попроси хостера закрыть папку /administrator,  http аутенфикацией
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
Re: Избавиться от поисковых ботов
« Ответ #6 : 26.11.2014, 09:04:01 »
Самое первое это вопрос
-на хосте один сайт?
Вопрос задан т.к. есть две проблемы одна когда сайт один на хосте другая когда он там не один.

Объясню сразу, если сайт на 1.0 и он заражен, еще и один на хосте, то проще или отдать его в работу специалисту и не забивать себе голову, если нет бюджета или жалко, то если он не большого объема перенести его на версию 3.3.* если материалов не много можно их и руками перекидать, только не на том хосте где сайт(минусы потеря урлов, прописывание редиректов 301 для выдачи, если сайт торгует ссылками то силяви).

Сами вы хоть и учитель, из топика понятно что не совсем разбираетесь в коде, редирект знакомый по сайтам которые в чистке бывают, сами обязательно упустите мелочи и до конца не дочистите сайт до конца, и проблема будет повторяться.

Это просто закрыть от индексации. Сайт в поиске уйдет через 2-3 недели.
Не верно, закрытие в robots.txt боту дает команду не сканировать сайт и соответственно не нести нагрузку, но боты могут нести минимальную нагрузку и совсем не ту в конкретном случае.

В robots.txt нельзя закрывать весь сайт для всех ботов, необходимо закрывать доступ только тем которые не желательны.
« Последнее редактирование: 26.11.2014, 09:09:46 от flyingspook »
*

wishlight

  • Гуру
  • 5053
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: Избавиться от поисковых ботов
« Ответ #7 : 26.11.2014, 10:10:15 »
Короче, еще кого сильно мучают боты - cloudflare.com бесплатный план с ssl открыл. Норм вроде прикрывает. Хотя при залитом дорвее не поможет.
*

Karna

  • Новичок
  • 3
  • 0 / 0
Re: Избавиться от поисковых ботов
« Ответ #8 : 26.11.2014, 10:44:44 »
Так и есть, сайт взломан.
Вот это в .htaccess удалить
Код
RewriteRule ^rukovod/(.*)$ /includes/version.php?r_id=$1 [L,QSA]
И файл /includes/version.php приложите к сообщению в zip-архиве.
И ищите шелл, тут написано как http://joomlaforum.ru/index.php/topic,246899.msg1509370.html#new
Спасибо большое! Строчку убрала, файл прилагаю (Скачатьversion.zip), тему прочитаю.

И еще попроси хостера закрыть папку /administrator,  http аутенфикацией
Хостер меня уже послал с моими вопросами. Я сама это не смогу сделать? Видела что-то такое в инструкциях по .htaccess...

Самое первое это вопрос
-на хосте один сайт?
Один. Переносить на новую версию я буду, обязательно, когда научусь это делать. Мне бы до зимних каникул с этим продержаться )

Сами вы хоть и учитель, из топика понятно что не совсем разбираетесь в коде
Вообще не разбираюсь, я ж обычный школьный учитель математики ) Мне поручили писать на сайт школы новости, а когда он лег, оказалось, что это тоже моя проблема :o Хорошо еще человек, который сайт делал, все пароли оставил. Ни сисадмина, ни даже лаборанта в школе. Если б вы мне не помогали, я не знаю, что было бы.
*

wishlight

  • Гуру
  • 5053
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: Избавиться от поисковых ботов
« Ответ #9 : 26.11.2014, 11:17:13 »
Хах.. прикольно. Это типа они учительницу напрягли сайт вести? Милота-то какая.

Мигрировать давно пора.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Избавиться от поисковых ботов
« Ответ #10 : 26.11.2014, 11:39:37 »
Может быть в панели управление хостингом, не биллинг, функция - Управление доступом. Можно выбрать папку   /administrator,
Или просто закрыть с помощью .htaccess, а когда войти нужно в админку- просто переименовать .
Так же можно указать свой IP
Код
##---------------Открываем доступ только опредиленным IP:---------------------##
Order deny,allow
Deny from all
allow from 101.102.103.104  #заменить на свой ip
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент Жимолость - защита от спама и ботов

Автор Гоша_Компьютерный

Ответов: 7
Просмотров: 2037
Последний ответ 04.04.2025, 11:58:13
от Simply
Новый набег ботов в регистрации сайта... Какой в этом смысл то?

Автор Cedars

Ответов: 11
Просмотров: 1765
Последний ответ 03.11.2020, 17:36:03
от Cedars
IPSecure - защита сайта от ботов

Автор SeBun

Ответов: 7
Просмотров: 5777
Последний ответ 05.12.2019, 23:42:43
от SeBun
Инструкция по блокировке нежелательных ботов на сайте

Автор yuri-it

Ответов: 7
Просмотров: 1903
Последний ответ 11.12.2018, 20:06:10
от stepan39
Вирус, который виден только в кэше поисковых систем

Автор silavoli

Ответов: 12
Просмотров: 3292
Последний ответ 19.07.2017, 09:57:20
от flyingspook