В старой версии webasyst есть встроенный функционал для обмена ссылками

01.04.2015 11:36:17
У этого скрипта есть довольно неприятная особенность – возможность напихать в него море левых ссылок, при этом не обязательно быть авторизованным.

На многих форумах можно найти информацию о том, что для решения проблемы достаточно поправить пару строк в файле: published/SC/html/scripts/modules/linkexchange/class.linkexchange.php
Но дело в том, что это решат проблему не полностью, а только убирает внешний интерфейс для добавления ссылок.

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

  1. Нужно заблокировать компонент на уровне системы. Выполняем запрос в БД:

    DELETE FROM `SC_divisions` WHERE `xUnicKey` LIKE 'linkexchange';

  2. Не только отключить интерфейс и функционал по добавлению новых ссылок, но и возвращать код 404 при попытке обращения к этой странице.

    Открываемфайл published/SC/html/scripts/modules/linkexchange/class.linkexchange.php
    Находим у класса LinkExchangeметоды methodFLinkExchangeи methodBLinkExchange и заменяем их все их содержимое на

    1
    2
    3
    4
    5
    {
        header("HTTP/1.1 404 Not Found;");
        header("Status: 404 Not Found;");
        header('location: ' . CONF_FULL_SHOP_URL);
    }

    Т.е. получаем:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class LinkExchange extends Module
    {
        function methodFLinkExchange()
        {
            header("HTTP/1.1 404 Not Found;");
            header("Status: 404 Not Found;");
            header('location: ' . CONF_FULL_SHOP_URL);
        }
        
        function methodBLinkExchange()
        {
            header("HTTP/1.1 404 Not Found;");
            header("Status: 404 Not Found;");
            header('location: ' . CONF_FULL_SHOP_URL);
        }
    }


Категории: WebAsyst (shop-script)
Яндекс.Метрика