И хочу сразу предупредить, что evo изначально весьма дырявая, и изначальная дырка, через которую могли разместить Первый вредоносный код может быть где угодно, даже в assets для какого-нибудь модуля.
Первый экземпляр кода может иметь возможность самовоспроизведения (может размещать дубликаты себя в рандомные скрипты системы) соответственно чем дольше вы логируете, тем больше дырок находите.
Обращение к этим скриптам зачастую( 99.9999999% ) производится не человеком, а значит должно пройти время чтобы злоумышленник обнаружил что ваш сайт выпал из его спам сети.
У меня злоумышленник лично попытался вернуть сайт в свои ряды только через 3 месяца. И только тогда стало ясно что он внедрил первый экземпляр через админку.
slo_nik: Права на папку откуда берутся документы только на чтение. Скрипт не должен вносить изменения в нее. И должен передавать имя реального файла. Самое интересное что ссылку на него он понимает, если ссылка никуда не ведёт матерится конструктор. Есть конечно идейка символическую ссылку создавать на исходник и таким образом проталкивать. Но хотелось бы всё таки найти решение без таких манипуляций. Может быть есть опция на самом curl, которая позволит отправлять как есть.
Нет. Я тоже сначала грешил. В итоге я убрал одно правило и всё работает
вот это: RewriteCond %{DOCUMENT_ROOT}/assets/thumbs/thumb.inc/%2.inc.php –f
По какой-то причине апач не хочет находить таким образом файлы. Подозреваю что он неправильно толкует этот маршрут. Может из-за длинны, может из-за символов типа точки. Надо будет на досуге попробовать протащить маршрут и его составные части в правило через переменные.
Иван: согласен. но настроить на абсолютно бережное использование HDD всё равно не получится. Зато есть живой пример что на линухе жестяк живёт лет до десяти при этом ни в чём себе не отказывая. Вообще что касается той же 1с в файловом режиме - она тоже нехило будет диск рвать.
Не за что. Как говорил профессор Преображенский в "Собачье сердце" : "Так я и говорю: никакой этой самой контрреволюции в моих словах нет. В них здравый смысл и жизненная опытность."
Там где вы управляете своим доменом site.ru добавляете субдомены помимо www.site.ru пишите еще и spb.site.ru, msk.site.ru и т.д. Главное чтобы все ваши субдомены были связаны с одним хостом apache (одна и та же папка где лежит ваш сайт).
Заходя по любому из этих доменов это отразится на переменной окружения 'SERVER_NAME'. А дальше используйте значение этой переменной в вашей CMS для отображения тех или иных контактных данных.
В данном примере 192.168 это зарезервированный диапазон локальных адресов. Сама сеть определяется маской сети. И представляется либо 255.255.255.0 или ip 192.168.0.1/24
Это выражение жрёт любое сочетание для трёх папок blog, board, forum с расширением htm, html и даже без такового и делает переброс пользователя не внутренний а с отправкой заголовка в соответствующую папку. Проблема может быть в самих папках. Там тоже может быть перемаршрутизация в htaccess которая пересылает пользователя обратно к корню. Таким образом у вас получается бесконечный цикл. Проверяйте конфиги там. Или же возможны и другие правила маршрутизации в том же файле, которые вы не указали.
В моем предложении пожалуй лишний один знак - ? перед $, поскольку позволяет перекидывать даже при отсутствии расширения.
Возможно. Используйте AJAX для обращения к скрипту который читает данные из БД.
А полностью на Javascript даже не советую рассматривать вариант. Согласно приведённому примеру базы одна строка может занимать до 70 байт а у вас их 2000 = 14кб. Если вы хотите озадачить клиента, чтобы тот сам перелопатил такой обьем - то вы садист.
В первом случае будет переброс пользователя на другой домен. Во втором случае фоновая маршрутизация внутри сервера. Переадресация всех запросов для domain2 в папку site.
А какая разница в каком виде это хранится в базе? Вы ведь не собираетесь искать в JSON записях? А в бэкенде, впрочем как и во фронтенде все выглядит нормально.
В 1С есть такая фишка учёт по характеристикам. Так вот при включении такой опции 1С сама плодит товары. Т.е. При создании товара, если вы добавляете к нему характеристики, 1С сама плодит подобные товары при этом сохраняется первичный буквенно-числовой ключ товара, а для подсущностей (товары с конкретными значениями характеристик) создаётся суффикс (контрольная сумма характеристик и их значений). И когда происходит поступление или списание остатки ведутся по конкретным сущностям в базе товаров. Вроде как товар один, а на самом деле их много. Как раз ваш случай.
Думаю надо копать в сторону хранения товаров и их атрибутов чтобы реализовать то что вы хотите. А для корзины и товара в заказе достаточно приведенного мной примера. Если вам удастся совместить код товара и контрольную сумму по атрибутам - то даже поле атрибуты в этих таблицах вам не потребуется.
Как у вас реализуется учёт остатков на складе?
В магазине, что я собирал, один товар - одна комплектация. Товары из 1С. В 1С также есть возможность ведения товаров по характеристикам (размер, цвет..). Т.е. как раз примерно то что у вас. Там учет ведётся по уникальной комбинации. Но я лично не сталкивался с таким.
Суть остается той-же. У вас должны быть уникальные товары. Вы можете конечно их группировать например по модели (предоставляя выбор цвета и размера). Но на выходе вы всё ровно должны получать уникальную единицу товара. Которая отразится на остатках и которая будет фигурировать в корзине и заказе.
В том то и дело, что вопрос хранения в корзине и в заказе надо решать через учёт остатков. В конечном счёте красная майка размера M и красная майка размера L это не одно и то же. А уж тем более если еще и цвет другой. Таким образом майки одной модели - это не товар а группа, а сам товар - майка такойТоМодели красного цвета размер L.
Первый экземпляр кода может иметь возможность самовоспроизведения (может размещать дубликаты себя в рандомные скрипты системы) соответственно чем дольше вы логируете, тем больше дырок находите.
Обращение к этим скриптам зачастую( 99.9999999% ) производится не человеком, а значит должно пройти время чтобы злоумышленник обнаружил что ваш сайт выпал из его спам сети.
У меня злоумышленник лично попытался вернуть сайт в свои ряды только через 3 месяца. И только тогда стало ясно что он внедрил первый экземпляр через админку.