Skip to content

Важное с Sysman.Ru: Удалить логи поискового робота Yahoo

Song:

Симтомы: не смотря на то, что в админ-центре форума предусмотрено удаление логов поисковых роботов, тем не менее удаление робота Yahoo не представляется возможным.

 

Причина: дело в том, что в названии этого робота есть обязательно восклицательный знак - Yahoo!

При операции удалении логов этого бота, парсер форума сначала превращает знак восклицация в юникод и удаление робота идёт уже совсем по другому запросу чем должно. В результе ничего не удаляется.

 

Исправление:

Ниже приведены исправления для форумов версий:

  • 1.x (чуть ниже)
  • 2.1.x

Featured Replies

Song:

Симтомы: не смотря на то, что в админ-центре форума предусмотрено удаление логов поисковых роботов, тем не менее удаление робота Yahoo не представляется возможным.

 

Причина: дело в том, что в названии этого робота есть обязательно восклицательный знак - Yahoo!

При операции удалении логов этого бота, парсер форума сначала превращает знак восклицация в юникод и удаление робота идёт уже совсем по другому запросу чем должно. В результе ничего не удаляется.

 

Исправление:

Ниже приведены исправления для форумов версий:

  • 1.x (чуть ниже)
  • 2.1.x

Song: Исправление для 1.x:

 

Добавьте выделенную часть в двух нижеприведённых случаях:

Цитата
    [b]function[/b] view()    {        [b]global[/b] [color=#048284]$IN[/color], [color=#048284]$INFO[/color], [color=#048284]$DB[/color], [color=#048284]$SKIN[/color], [color=#048284]$ADMIN[/color], [color=#048284]$std[/color], [color=#048284]$MEMBER[/color], [color=#048284]$GROUP[/color], [color=#048284]$HTTP_GET_VARS[/color];

Цитата (ad_spiderlogs.php)
    [b]function[/b] remove()    {        [b]global[/b] [color=#048284]$IN[/color], [color=#048284]$INFO[/color], [color=#048284]$DB[/color], [color=#048284]$SKIN[/color], [color=#048284]$ADMIN[/color], [color=#048284]$std[/color], [color=#048284]$MEMBER[/color], [color=#048284]$GROUP[/color], [color=#048284]$HTTP_GET_VARS[/color];

 

Исправление просмотра действия ботов:

Найдите:

Цитата (ad_spiderlogs.php)
                [color=#048284]$start[/color] = [color=#048284]$IN[/color]['st'] ? [color=#048284]$IN[/color]['st'] : [color=navy]0[/color];                [color=#048284]$ADMIN[/color]->page_detail = "Просмотр всех действий поискового двигателя";        [color=#048284]$ADMIN[/color]->page_title  = "Управление логами поискового двигателя";                [color=#048284]$botty[/color] = urldecode([color=#048284]$IN[/color]['bid']);            [b]if[/b] ([color=#048284]$IN[/color]['search_string'] == "")        {            [color=#048284]$DB[/color]->query("SELECT COUNT(sid) as count FROM ibf_spider_logs WHERE bot='$botty'");                        [color=#048284]$row[/color] = [color=#048284]$DB[/color]->fetch_row();                        [color=#048284]$row_count[/color] = [color=#048284]$row[/color]['count'];                        [color=#048284]$query[/color] = "&act=spiderlog&bid={$IN['bid']}&code=view";                        [color=#048284]$DB[/color]->query("SELECT * FROM ibf_spider_logs WHERE bot='$botty' ORDER BY entry_date DESC LIMIT $start, 20");                    }

Замените на:

                [color=#048284]$start[/color] = [color=#048284]$IN[/color]['st'] ? [color=#048284]$IN[/color]['st'] : [color=navy]0[/color];                [color=#048284]$ADMIN[/color]->page_detail = "Просмотр всех действий поискового двигателя";        [color=#048284]$ADMIN[/color]->page_title  = "Управление логами поискового двигателя";                [color=#048284]$botty[/color] = urldecode([color=#048284]$HTTP_GET_VARS[/color]['bid']);            [b]if[/b] ([color=#048284]$IN[/color]['search_string'] == "")        {            [color=#048284]$DB[/color]->query("SELECT COUNT(sid) as count FROM ibf_spider_logs WHERE bot='".addslashes([color=#048284]$botty[/color])."'");                        [color=#048284]$row[/color] = [color=#048284]$DB[/color]->fetch_row();                        [color=#048284]$row_count[/color] = [color=#048284]$row[/color]['count'];                        [color=#048284]$query[/color] = "&act=spiderlog&bid={$IN['bid']}&code=view";                        [color=#048284]$DB[/color]->query("SELECT * FROM ibf_spider_logs WHERE bot='".addslashes([color=#048284]$botty[/color])."' ORDER BY entry_date DESC LIMIT $start, 20");                    }

 

 

Исправление удаления действий ботов:

Найдите:

Цитата (ad_spiderlogs.php)
        [color=#048284]$botty[/color] = urldecode([color=#048284]$IN[/color]['bid']);                [color=#048284]$DB[/color]->query("DELETE FROM ibf_spider_logs WHERE bot='$botty'");

Замените на:

        [color=#048284]$botty[/color] = urldecode([color=#048284]$HTTP_GET_VARS[/color]['bid']);                [color=#048284]$DB[/color]->query("DELETE FROM ibf_spider_logs WHERE bot='".addslashes([color=#048284]$botty[/color])."'");

Song: Исправление для 2.1.x:

 

Исправление просмотра действий ботов:

Цитата (sources/action_admin/spiderlogs.php)
    [b]function[/b] view()    {        [color=#048284]$start[/color] = [color=#048284]$this[/color]->ipsclass->input['st'] ? [color=#048284]$this[/color]->ipsclass->input['st'] : [color=navy]0[/color];                        [color=#048284]$this[/color]->ipsclass->admin->page_detail = "Просмотр всех действий поисковыми ботами";                [color=#048284]$this[/color]->ipsclass->admin->page_title  = "Менеджер поисковых ботов";                [color=#048284]$botty[/color] = urldecode([color=#048284]$this[/color]->ipsclass->input['bid']);            [b]if[/b] ([color=#048284]$this[/color]->ipsclass->input['search_string'] == "")        {            [color=#048284]$this[/color]->ipsclass->DB->simple_construct( [b]array[/b]( 'select' => 'COUNT(sid) as count', 'from' => 'spider_logs', 'where' => "bot='$botty'" ) );            [color=#048284]$this[/color]->ipsclass->DB->simple_exec();                    [color=#048284]$row[/color] = [color=#048284]$this[/color]->ipsclass->DB->fetch_row();                        [color=#048284]$row_count[/color] = [color=#048284]$row[/color]['count'];                        [color=#048284]$query[/color] = "&{$this->ipsclass->form_code}&bid={$this->ipsclass->input['bid']}&code=view";                        [color=#048284]$this[/color]->ipsclass->DB->simple_construct( [b]array[/b]( 'select' => '*',                                          'from'   => 'spider_logs',                                          'where'  => "bot='$botty'",                                          'order'  => 'entry_date DESC',                                          'limit'  => [b]array[/b]( [color=#048284]$start[/color], [color=navy]20[/color] ) ) );            [color=#048284]$this[/color]->ipsclass->DB->simple_exec();        }

Замените на:

    [b]function[/b] view()    {        [color=#048284]$start[/color] = [color=#048284]$this[/color]->ipsclass->input['st'] ? [color=#048284]$this[/color]->ipsclass->input['st'] : [color=navy]0[/color];                        [color=#048284]$this[/color]->ipsclass->admin->page_detail = "Просмотр всех действий поисковыми ботами";                [color=#048284]$this[/color]->ipsclass->admin->page_title  = "Менеджер поисковых ботов";                [color=#048284]$botty[/color] = urldecode([color=#048284]$_GET[/color]['bid']);            [b]if[/b] ([color=#048284]$this[/color]->ipsclass->input['search_string'] == "")        {            [color=#048284]$this[/color]->ipsclass->DB->simple_construct( [b]array[/b]( 'select' => 'COUNT(sid) as count', 'from' => 'spider_logs', 'where' => "bot='".addslashes([color=#048284]$botty[/color])."'" ) );            [color=#048284]$this[/color]->ipsclass->DB->simple_exec();                    [color=#048284]$row[/color] = [color=#048284]$this[/color]->ipsclass->DB->fetch_row();                        [color=#048284]$row_count[/color] = [color=#048284]$row[/color]['count'];                        [color=#048284]$query[/color] = "&{$this->ipsclass->form_code}&bid={$this->ipsclass->input['bid']}&code=view";                        [color=#048284]$this[/color]->ipsclass->DB->simple_construct( [b]array[/b]( 'select' => '*',                                          'from'   => 'spider_logs',                                          'where'  => "bot='".addslashes([color=#048284]$botty[/color])."'",                                          'order'  => 'entry_date DESC',                                          'limit'  => [b]array[/b]( [color=#048284]$start[/color], [color=navy]20[/color] ) ) );            [color=#048284]$this[/color]->ipsclass->DB->simple_exec();        }

 

 

Исправление удаления действий ботов:

Найдите:

Цитата (sources/action_admin/spiderlogs.php)
    [color=green]//-----------------------------------------[/color]    [color=green]// Remove archived files[/color]    [color=green]//-----------------------------------------[/color]        [b]function[/b] remove()    {        [b]if[/b] ([color=#048284]$this[/color]->ipsclass->input['bid'] == "")        {                        [color=#048284]$this[/color]->ipsclass->admin->error("Вы не выбрали бота, которого хотите удалить!");        }                [color=#048284]$botty[/color] = urldecode([color=#048284]$this[/color]->ipsclass->input['bid']);                [color=#048284]$this[/color]->ipsclass->DB->simple_exec_query( [b]array[/b]( 'delete' => 'spider_logs', 'where' => "bot='$botty'" ) );

 

Замените на:

    [color=green]//-----------------------------------------[/color]    [color=green]// Remove archived files[/color]    [color=green]//-----------------------------------------[/color]        [b]function[/b] remove()    {        [b]if[/b] ([color=#048284]$this[/color]->ipsclass->input['bid'] == "")        {                        [color=#048284]$this[/color]->ipsclass->admin->error("Вы не выбрали бота, которого хотите удалить!");        }                [color=#048284]$botty[/color] = urldecode([color=#048284]$_GET[/color]['bid']);                [color=#048284]$this[/color]->ipsclass->DB->simple_exec_query( [b]array[/b]( 'delete' => 'spider_logs', 'where' => "bot='".addslashes([color=#048284]$botty[/color])."'" ) );
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.