[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content-post-pochemu-pisma-uhodyat-v-spam":3},{"post":4,"related":211,"status":174},{"id":5,"title":6,"slug":7,"excerpt":8,"content":9,"cover_alt":173,"cover_position":174,"reading_time":175,"seo":176,"robots_index":185,"seo_title":177,"seo_description":178,"date_published":186,"date_modified":174,"source_lead":174,"rubrics":187,"blocks":195,"cover":208},"e72b3463-3c8c-4645-84c6-09dfee440a20","Почему письма уходят в спам: SPF, DKIM и DMARC простыми словами","pochemu-pisma-uhodyat-v-spam","У моего домена почта работала, письма отправлялись, всё выглядело нормально - а двух из трёх записей, отвечающих за доверие к отправителю, не было вовсе. Объясняю SPF, DKIM и DMARC человеческим языком: что каждая делает, в каком порядке ставить и как проверить результат за две минуты.",{"type":10,"content":11},"doc",[12,18,22,29,33,37,41,46,50,54,58,63,67,71,75,79,84,88,92,105,110,114,118,140,144,149,155,159,163],{"type":13,"content":14},"paragraph",[15],{"type":16,"text":17},"text","Я собирался включить на сайте почтовую рассылку и по привычке начал с проверки домена. SPF на месте - его поставил хостинг сам, когда подключал почту. DKIM нет. DMARC нет.",{"type":13,"content":19},[20],{"type":16,"text":21},"Почта \"просто работает\" ровно до того момента, когда вы начинаете отправлять что-то массовое или важное. Тогда и выясняется, что часть писем не доходит, а вы об этом не знаете: уведомлений о попадании в спам не бывает. Со стороны это выглядит как молчание клиента: вы думаете, что человек не ответил, а он просто не увидел ваше письмо. И это заявки, за которые вы уже заплатили.",{"type":23,"attrs":24,"content":26},"heading",{"level":25},2,[27],{"type":16,"text":28},"SPF: кому разрешено писать от вашего имени",{"type":13,"content":30},[31],{"type":16,"text":32},"Представьте, что кто угодно может отправить бумажное письмо на бланке вашей компании. Примерно так устроена почта по умолчанию: адрес отправителя в письме - это просто текст, его можно написать любой.",{"type":13,"content":34},[35],{"type":16,"text":36},"SPF - это список: с каких серверов разрешено отправлять письма от вашего домена. Он лежит в настройках домена, и почтовые системы его проверяют. Пришло письмо от вас с сервера, которого нет в списке, - повод для подозрений.",{"type":13,"content":38},[39],{"type":16,"text":40},"Эта запись есть почти у всех, потому что хостинг обычно ставит её сам при подключении почты. Остальные две он за вас не поставит.",{"type":23,"attrs":42,"content":43},{"level":25},[44],{"type":16,"text":45},"DKIM: подпись, которую нельзя подделать",{"type":13,"content":47},[48],{"type":16,"text":49},"SPF отвечает только за то, что письмо пришло с разрешённого сервера. DKIM - про само письмо: ваш сервер подписывает каждое исходящее письмо, а получатель сверяет подпись с образцом, который лежит в настройках домена. Сходится - письмо ваше, и по дороге его не правили.",{"type":13,"content":51},[52],{"type":16,"text":53},"Разница практическая. SPF ломается при пересылке письма: адрес отправителя остался ваш, а сервер уже чужой. DKIM пересылку переживает, потому что подпись живёт в самом письме.",{"type":13,"content":55},[56],{"type":16,"text":57},"Именно этой записи у меня не было. И тут выяснилась деталь, из-за которой её и не бывает у многих: на Beget DKIM не включается кнопкой в панели - его включает поддержка по обращению. Пишете тикет, просите подписывать исходящую почту, и запись появляется в настройках домена сама. Работы на несколько минут и ноль рублей, но об этом надо знать.",{"type":23,"attrs":59,"content":60},{"level":25},[61],{"type":16,"text":62},"DMARC: что делать с письмами, которые не прошли проверку",{"type":13,"content":64},[65],{"type":16,"text":66},"Первые две записи описывают, как проверить письмо. DMARC отвечает на следующий вопрос: а что делать, если проверка не прошла?",{"type":13,"content":68},[69],{"type":16,"text":70},"Вариантов три: ничего не делать и просто наблюдать, отправить в спам или отклонить совсем. Плюс адрес, на который почтовые системы будут присылать отчёты - кто и откуда шлёт письма от вашего имени.",{"type":13,"content":72},[73],{"type":16,"text":74},"Порядок здесь важен, и его нарушение - главная ошибка самостоятельной настройки. Нельзя начинать со строгого режима: если DKIM не настроен или какой-то ваш сервис шлёт письма мимо списка, вы своими руками отправите в спам собственную почту.",{"type":13,"content":76},[77],{"type":16,"text":78},"Правильная последовательность: сначала мягкий режим наблюдения с отчётами, потом настройка DKIM, потом проверка боем, и только потом ужесточение. Я именно так и делал: поставил DMARC, добился DKIM, убедился, что обе проверки проходят, и после этого поднял режим до отправки подозрительного в спам.",{"type":23,"attrs":80,"content":81},{"level":25},[82],{"type":16,"text":83},"Как проверить за две минуты",{"type":13,"content":85},[86],{"type":16,"text":87},"Не надо ставить инструменты и разбираться в заголовках. Есть бесплатные сервисы-автоответчики: вы отправляете письмо со своего рабочего адреса на специальный адрес и получаете в ответ полный разбор - прошёл ли SPF, прошёл ли DKIM, что видит принимающая сторона.",{"type":13,"content":89},[90],{"type":16,"text":91},"Я пользуюсь таким после каждого изменения. Ответ приходит за минуту, и в нём прямым текстом написано pass или fail по каждому пункту. Это единственный способ убедиться, что вы настроили не то, что хотели, а то, что получилось.",{"type":13,"content":93},[94,96,103],{"type":16,"text":95},"Отдельная грабля для тех, кто правит настройки домена через программный интерфейс хостинга: у Beget операция изменения записей перезаписывает всю группу целиком и ",{"type":16,"marks":97,"text":102},[98],{"type":99,"attrs":100},"link",{"href":101},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fgeobloki-i-tihie-otkazy","молча удаляет то, что вы не передали",{"type":16,"text":104},". После любой такой правки проверяйте, на месте ли записи почты и адреса сайта.",{"type":23,"attrs":106,"content":107},{"level":25},[108],{"type":16,"text":109},"Бонус: аватар отправителя",{"type":13,"content":111},[112],{"type":16,"text":113},"Раз уж речь о доверии к письму - вопрос, который мне задают чаще, чем про DKIM: как сделать, чтобы рядом с письмом показывалась картинка компании, а не серый кружок с буквой.",{"type":13,"content":115},[116],{"type":16,"text":117},"Ответ неприятный и разный для разных почт:",{"type":119,"content":120},"bulletList",[121,128,134],{"type":122,"content":123},"listItem",[124],{"type":13,"content":125},[126],{"type":16,"text":127},"В Gmail единственный официальный путь - технология BIMI, а она требует сертификата, подтверждающего права на товарный знак. Это от 1000 долларов в год и обязательный зарегистрированный знак. Для индивидуального предпринимателя без товарного знака - недоступно в принципе.",{"type":122,"content":129},[130],{"type":13,"content":131},[132],{"type":16,"text":133},"В Mail.ru делается бесплатно через кабинет почтмейстера: подтверждаете домен записью в его настройках и загружаете картинку. Требования простые - квадрат, непрозрачный фон, читаемость в мелком размере.",{"type":122,"content":135},[136],{"type":13,"content":137},[138],{"type":16,"text":139},"В Яндексе встроенного способа нет, работает сервис глобальных аватаров, привязанный к адресу отправителя.",{"type":13,"content":141},[142],{"type":16,"text":143},"Но заниматься этим стоит только после того, как настроены DKIM и DMARC. Без них красивое письмо просто не увидят.",{"type":23,"attrs":145,"content":146},{"level":25},[147],{"type":16,"text":148},"Что это даёт вам в деньгах",{"type":150,"attrs":151},"relation-block",{"id":152,"junction":153,"collection":154},"90ad1d09-37c4-4b49-8161-0659e3a1202c","posts_blocks","block_stats",{"type":13,"content":156},[157],{"type":16,"text":158},"Считайте на своих числах. Заявка в B2B стоит от 3 000 до 15 000 рублей, и при среднем чеке 50 000 рублей и конверсии 30 процентов она возвращает около 15 000 рублей. Каждое письмо, ушедшее в спам, - это заявка, за которую вы уже заплатили, и она не сработала. С другой стороны весов - тикет в поддержку хостинга на несколько минут, ноль рублей и две минуты на проверку.",{"type":13,"content":160},[161],{"type":16,"text":162},"Письмо в спаме никто не отбивает уведомлением - вы просто не знаете, что клиент его не увидел. Так же тихо ломаются интеграции и выгрузки: разбираю, какие уведомления ставить, чтобы не отключить их на второй день.",{"type":13,"content":164},[165,167],{"type":16,"text":166},"Читать дальше: ",{"type":16,"marks":168,"text":172},[169],{"type":99,"attrs":170},{"href":171},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Favtomatizaciya-kotoraya-padaet","Автоматизация всегда падает: вопрос лишь в том, узнаете ли вы об этом","Три конверта проходят через арки-штампы, четвёртый отложен в тень",null,3,{"title":177,"meta_description":178,"focus_keyphrase":179,"og_image":174,"no_index":180,"no_follow":180,"sitemap":181,"additional_fields":184},"SPF, DKIM, DMARC: как настроить, чтобы письма доходили","Три записи в DNS, без которых рассылка и даже обычные письма уезжают в спам. Что каждая означает, в каком порядке их ставить и как проверить результат за две минуты.","",false,{"change_frequency":182,"priority":183},"monthly","0.6",{},true,"2026-08-27T17:21:48.000Z",[188,192],{"sort":189,"tags_id":190},1,{"name":191},"Инструменты",{"sort":25,"tags_id":193},{"name":194},"Безопасность",[196],{"id":152,"sort":174,"collection":154,"item":197},{"items":198,"columns":175},[199,202,205],{"lead":200,"text":201},"0 рублей","Столько стоит DKIM: у Beget его включает поддержка по вашему тикету",{"lead":203,"text":204},"15 000 рублей","Столько в среднем приносит одна заявка при чеке 50 000 рублей и конверсии 30 процентов",{"lead":206,"text":207},"2 минуты","Проверка после каждой правки: письмо автоответчику и разбор pass или fail",{"id":209,"modified_on":210},"2191cc54-9d87-49bc-bd39-b656d1a2a18f","2026-08-27T18:13:09.511Z",[212,426,619],{"id":213,"title":214,"slug":215,"excerpt":216,"content":217,"cover_alt":390,"cover_position":174,"reading_time":391,"seo":392,"robots_index":185,"seo_title":393,"seo_description":394,"date_published":397,"date_modified":174,"source_lead":174,"rubrics":398,"blocks":404,"cover":423},"5961ca87-2b6f-4c60-9d4d-3677f34b294f","Претензия за фотографию: как мы заменили 211 картинок на живом сайте","pretenziya-za-fotografiyu","Досудебная претензия на 60 000 рублей за одну фотографию, которую в 2018 году поставил подрядчик. Показываю, что мы сделали вместо выплаты: нашли все чужие картинки на сайте и заменили их так, что вёрстка и адреса в поиске остались прежними.",{"type":10,"content":218},[219,223,227,232,236,240,244,249,253,257,261,265,270,274,294,298,303,307,316,324,332,336,341,345,349,354,358,362,366,371,375,379,382,386],{"type":13,"content":220},[221],{"type":16,"text":222},"Клиенту пришла досудебная претензия: на сайте используется фотография, права на которую принадлежат не ему. Требование - 60 000 рублей за одно изображение на одной странице, со скидкой до 35 000, если заплатить в течение пяти рабочих дней. Фотография попала на сайт в 2018 году вместе с материалами подрядчика, который давно не работает с компанией, и это, к сожалению, не аргумент: отвечает владелец сайта.",{"type":13,"content":224},[225],{"type":16,"text":226},"История типовая, и заканчивается она обычно одинаково: платят или судятся. Иногда в панике сносят полсайта вместе с вёрсткой и поисковым трафиком. Мы сделали по-другому.",{"type":23,"attrs":228,"content":229},{"level":25},[230],{"type":16,"text":231},"Почему \"просто удалить\" не работает",{"type":13,"content":233},[234],{"type":16,"text":235},"Первая реакция собственника - убрать картинку и забыть. Она понятна, но закрывает только часть вопроса.",{"type":13,"content":237},[238],{"type":16,"text":239},"Во-первых, претензия уже предъявлена, и удаление не отменяет прошлого использования - это разговор для юриста, и его надо вести отдельно. Во-вторых, снятая картинка оставляет дыру: у неё есть размеры, и вёрстка рассчитана на них. В-третьих, и это главное - если одна чужая фотография попала на сайт случайно, там почти наверняка есть и другие. Правообладатели работают системно: находят одно нарушение и проверяют весь домен.",{"type":13,"content":241},[242],{"type":16,"text":243},"Поэтому задача звучит шире: убрать с сайта весь чужой визуальный материал, ничего при этом не сломав.",{"type":23,"attrs":245,"content":246},{"level":25},[247],{"type":16,"text":248},"Почему нельзя просто взять новые фотографии",{"type":13,"content":250},[251],{"type":16,"text":252},"Два очевидных варианта отпадают сразу.",{"type":13,"content":254},[255],{"type":16,"text":256},"Скачать новые фотографии из интернета - это ровно то, с чего началась история. Купить сток - вариант рабочий, но дорогой на трёх сотнях картинок, и он всё равно требует подобрать снимки той же композиции, иначе поедет вёрстка.",{"type":13,"content":258},[259],{"type":16,"text":260},"Отдельно стоит сказать про соблазн сделать нейросетью попиксельную копию исходного кадра. Так делать нельзя. Узнаваемая копия остаётся переработкой чужого произведения - это прямо описано в статье 1270 ГК РФ - и требует согласия правообладателя ровно так же, как оригинал. Технически вы вроде бы ничего не скачивали, юридически ничего не изменилось.",{"type":13,"content":262},[263],{"type":16,"text":264},"Рабочая формулировка оказалась другой: тот же кадр, снятый заново. Не копия и не новая картинка на ту же тему, а самостоятельный снимок той же сцены - как если бы на то же место приехал другой фотограф.",{"type":23,"attrs":266,"content":267},{"level":25},[268],{"type":16,"text":269},"Сначала инвентаризация, потом всё остальное",{"type":13,"content":271},[272],{"type":16,"text":273},"Найти все картинки сайта сложнее, чем кажется. Одного источника не хватает, их нужно три:",{"type":119,"content":275},[276,282,288],{"type":122,"content":277},[278],{"type":13,"content":279},[280],{"type":16,"text":281},"обход всех страниц сайта - то, что реально видит посетитель, включая фоновые картинки, которых нет в тексте страницы;",{"type":122,"content":283},[284],{"type":13,"content":285},[286],{"type":16,"text":287},"база данных - тексты материалов, настройки модулей, меню, медиатека;",{"type":122,"content":289},[290],{"type":13,"content":291},[292],{"type":16,"text":293},"файлы на диске - поиск по всем папкам с изображениями, включая шаблон и слайдеры.",{"type":13,"content":295},[296],{"type":16,"text":297},"Пересечение этих трёх списков дало карту: 359 картинок, у каждой известно, где она встречается, живая она или осталась только в базе, и есть ли у неё дубликаты. Отдельной строкой - 1434 файла, которых нет ни в одном источнике: старьё, забытое прежними подрядчиками. Их мы не трогали вообще: удалять то, о чём ничего не знаешь, я не стал.",{"type":23,"attrs":299,"content":300},{"level":25},[301],{"type":16,"text":302},"Разметка: не всё подряд",{"type":13,"content":304},[305],{"type":16,"text":306},"Дальше начинается работа глазами. Я смотрел все картинки контактными листами по 24 штуки и раскладывал на три стопки.",{"type":13,"content":308},[309,314],{"type":16,"marks":310,"text":313},[311],{"type":312},"bold","Перегенерить",{"type":16,"text":315}," - стоковые постановки: техника на идеальном газоне, человек в каске на фоне заката, руки с чертежом, каталожные снимки приборов, чужие промзоны. Это и есть основной источник риска.",{"type":13,"content":317},[318,322],{"type":16,"marks":319,"text":321},[320],{"type":312},"Удалить",{"type":16,"text":323}," - демо-контент шаблона, который никто не убрал при запуске: чашки кофе, гамаки, картинки с подписью Sample Image, логотипы платёжных систем, которыми компания не пользуется.",{"type":13,"content":325},[326,330],{"type":16,"marks":327,"text":329},[328],{"type":312},"Оставить",{"type":16,"text":331}," - собственная полевая съёмка, чертежи, обложки документации, сотрудники, своё оборудование.",{"type":13,"content":333},[334],{"type":16,"text":335},"Здесь была ловушка, в которую я попал на первом заходе. Портреты сотрудников, снятые в студии, выглядят как чистый сток - ровный свет, белый фон, дежурная улыбка - и уехали в стопку на замену. Это свои люди, снятые за свои деньги, менять их нельзя. Вывод: спорные кадры я показываю владельцу.",{"type":23,"attrs":337,"content":338},{"level":25},[339],{"type":16,"text":340},"Где всё ломается",{"type":13,"content":342},[343],{"type":16,"text":344},"Самое хрупкое место - как именно объяснить задачу нейросети. Первая версия звучала разумно: \"сними эту сцену заново, другой ракурс, другой свет\" плюс описание сюжета из подписи к картинке. Результат был отличный и совершенно негодный. Нейросеть решила, что подпись - это заказ на новый снимок, и начала дорисовывать: на пустом галечном берегу появились пятеро геодезистов и грузовик, а в другом кадре берег превратился в поле с нефтяными качалками.",{"type":13,"content":346},[347],{"type":16,"text":348},"Рабочая формулировка получилась занудной и подробной: сохранить композицию, ракурс, границы кадра, все объекты и их положение, количество людей и техники, позы, цвета, свет и время года; ничего не добавлять и не убирать; отличия допускаются только в мелкой фактуре. Зато на выходе тот же кадр, и вёрстка стоит как стояла.",{"type":23,"attrs":350,"content":351},{"level":25},[352],{"type":16,"text":353},"Миниатюры, о которых все забывают",{"type":13,"content":355},[356],{"type":16,"text":357},"Заменить исходный файл мало. Движок сайта хранит нарезанные копии каждой картинки под разные места - превью в списке, картинка в шапке, миниатюра в галерее. Если их не пересобрать, посетитель ещё месяцами будет видеть старое изображение в анонсах, а сайт - продолжать нарушение.",{"type":13,"content":359},[360],{"type":16,"text":361},"На этом сайте таких копий оказалось 1123 штуки. Все пересобраны из новых оригиналов.",{"type":13,"content":363},[364],{"type":16,"text":365},"Ещё одно правило, которое экономит недели: имя файла не меняется. Новая картинка ложится ровно на место старой, поэтому тексты и ссылки никто не переделывает руками, а адреса картинок в поиске остаются прежними.",{"type":23,"attrs":367,"content":368},{"level":25},[369],{"type":16,"text":370},"Итог",{"type":13,"content":372},[373],{"type":16,"text":374},"Владелец получил документ, где по каждой замене стоят рядом старая и новая картинка - и как отчёт, и как аргумент в переговорах с правообладателем: нарушение прекращено добровольно и по всему сайту сразу. Проверены все 418 страниц и вся библиотека изображений: 359 картинок в аудите, 211 заменено, 7 удалено, 1123 миниатюры пересобраны. База не тронута, вёрстка не поехала, полный бэкап базы и папок с картинками сделан до первой правки.",{"type":23,"attrs":376,"content":377},{"level":25},[378],{"type":16,"text":148},{"type":150,"attrs":380},{"id":381,"junction":153,"collection":154},"ba4f61c6-4324-44b5-8eff-da86d34c661b",{"type":13,"content":383},[384],{"type":16,"text":385},"Посчитайте на своих цифрах. Одно письмо - 35 000 рублей, если платить в пятидневное окно, и 60 000, если не успели. На сайте из примера 211 снимков группы риска, а домен правообладатель проверяет целиком: даже десять писем из этого запаса - 350 000 рублей. Плюс ваши дни на разбор, при цене дня руководителя по рынку 7 000 - 10 000 рублей. Сплошная замена закрывает весь массив за один заход.",{"type":150,"attrs":387},{"id":388,"junction":153,"collection":389},"7bd244db-3f3d-48bc-bf33-52046c38ffb9","block_cta","Сетка одинаковых кадров на тёмной стене, несколько из них подсвечены",4,{"title":393,"meta_description":394,"focus_keyphrase":179,"og_image":174,"no_index":180,"no_follow":180,"sitemap":395,"additional_fields":396},"Досудебная претензия за фото на сайте: как заменить картинки без потерь","Кейс: претензия правообладателя за фотографию на корпоративном сайте. Как мы нашли 359 картинок, заменили 211 нейросетевыми кадр в кадр и пересобрали 1123 миниатюры, не тронув вёрстку и SEO.",{"change_frequency":182,"priority":183},{},"2026-08-27T18:10:09.000Z",[399,402],{"sort":189,"tags_id":400},{"name":401},"Разборы задач",{"sort":25,"tags_id":403},{"name":194},[405,417],{"id":381,"sort":174,"collection":154,"item":406},{"items":407,"columns":175},[408,411,414],{"lead":409,"text":410},"60 000 рублей","требование за одну фотографию на одной странице; 35 000, если заплатить за пять дней",{"lead":412,"text":413},"211 картинок","столько снимков группы риска нашлось на одном сайте; каждый - повод для письма",{"lead":415,"text":416},"7 000 - 10 000 рублей","день руководителя по рынку - столько стоит разбирать сайт и претензию самому",{"id":388,"sort":174,"collection":389,"item":418},{"cta_variant":419,"heading":420,"body":421,"button_label":422,"url":174,"glow":185},"estimator","Похожая задача?","Если картинки на ваш сайт ставили подрядчики, вы не знаете, сколько там чужих кадров, пока не проверен весь домен. Опишите сайт - посчитаю объём замены и сроки.","Оценить задачу",{"id":424,"modified_on":425},"acbf6596-6ae4-44e5-b6c6-54c5326c8011","2026-08-27T18:12:21.832Z",{"id":427,"title":428,"slug":429,"excerpt":430,"content":431,"cover_alt":587,"cover_position":174,"reading_time":175,"seo":588,"robots_index":185,"seo_title":589,"seo_description":590,"date_published":593,"date_modified":174,"source_lead":174,"rubrics":594,"blocks":599,"cover":616},"75251e39-6088-48b3-b70b-62a33464f173","База лежала в открытом доступе по ошибке SEO-специалиста и GPT","utechka-bazy-cherez-bekapy","Полные копии базы с заказами и паролями клиентов лежали в открытой части сайта пять месяцев и скачивались по прямой ссылке. Признаков взлома не было ни одного - и это самое интересное в этой истории. Разбираю, как утекают базы через рабочий мусор и как проверить свой сайт.",{"type":10,"content":432},[433,437,441,446,450,454,458,474,482,490,494,499,503,507,511,516,520,524,529,533,537,541,546,550,554,559,573,577,580,584],{"type":13,"content":434},[435],{"type":16,"text":436},"Собственник спросил осторожно: \"У нас же не могли слить базу?\" Повод был - месяцем раньше на одном из его сайтов мы уже находили открытый архив. Я проверил все сайты, до которых у него есть отношение. Результат: на соседнем сайте лежали две полные копии базы данных, доступные любому человеку в интернете, - самой старой было пять месяцев.",{"type":13,"content":438},[439],{"type":16,"text":440},"Признаков взлома не было ни одного: ни подозрительных файлов, ни чужого кода. Данные просто лежали так, что взламывать ничего не требовалось.",{"type":23,"attrs":442,"content":443},{"level":25},[444],{"type":16,"text":445},"Как база оказывается в открытом доступе",{"type":13,"content":447},[448],{"type":16,"text":449},"В голове у большинства владельцев сайтов утечка выглядит как хакер в толстовке. На практике типовой сценарий скучнее и обиднее: база утекает через рабочий мусор, который оставили свои же.",{"type":13,"content":451},[452],{"type":16,"text":453},"Плагин резервного копирования складывает копии базы в открытую часть сайта и хранит их месяцами. Подрядчик перенёс сайт и забыл убрать архив с установщиком. Кто-то поставил панель управления базой, чтобы разово посмотреть таблицу, и она осталась. Каждый шаг по отдельности выглядит безобидно, а вместе это готовый способ скачать всё содержимое компании, зная только имя файла.",{"type":13,"content":455},[456],{"type":16,"text":457},"Именно так выглядели три находки на этом аудите.",{"type":13,"content":459},[460,464,466,472],{"type":16,"marks":461,"text":463},[462],{"type":312},"Копии базы в открытой части сайта.",{"type":16,"text":465}," Две штуки, от марта и апреля, плюс архивы самого сайта на 162 мегабайта. Внутри - заказы клиентов ",{"type":16,"marks":467,"text":471},[468],{"type":99,"attrs":469},{"href":470},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002F152-fz-dlya-malenkogo-sayta","с персональными данными",{"type":16,"text":473},", пароли всех пользователей сайта (зашифрованные, но подбираются офлайн и не спеша), ключи доступа интеграций. Рядом лежала копия служебного файла с логином и паролем от базы.",{"type":13,"content":475},[476,480],{"type":16,"marks":477,"text":479},[478],{"type":312},"Архив сайта на 876 мегабайт",{"type":16,"text":481}," на копии другого сайта - со всеми файлами и базой внутри. Такой архив разворачивается в один клик где угодно: у того, кто его скачал, появляется полная рабочая копия чужого бизнеса.",{"type":13,"content":483},[484,488],{"type":16,"marks":485,"text":487},[486],{"type":312},"Открытая панель управления базой",{"type":16,"text":489}," версии 2013 года на боевом сайте. Пароль она спрашивает, но для такой старой версии публично известны способы обхода, и это удобная точка для перебора.",{"type":13,"content":491},[492],{"type":16,"text":493},"Отдельно неприятная деталь: формально защита стояла. В папке с копиями лежал файл-запрет на скачивание - но конкретный хостинг для таких путей его игнорировал. По конфигу всё выглядело закрытым, по факту файлы отдавались наружу.",{"type":23,"attrs":495,"content":496},{"level":25},[497],{"type":16,"text":498},"Диск - это не то же самое, что интернет",{"type":13,"content":500},[501],{"type":16,"text":502},"Главная методическая ошибка в таких проверках - искать файлы на сервере и по факту находки объявлять утечку. Файл может лежать на диске и не отдаваться наружу, а может лежать в неожиданном месте и прекрасно скачиваться.",{"type":13,"content":504},[505],{"type":16,"text":506},"Поэтому порядок такой: сначала смотрю, что лежит на диске - архивы, копии базы, файлы с расширениями bak, old, save, остатки установщиков. Потом каждую находку пробую скачать из интернета, как это сделал бы посторонний: скачалось - значит утечка, не скачалось - значит просто мусор на сервере. И отдельно запрашиваю снаружи ходовые адреса вслепую, даже если на диске чисто: доступа к диску может не быть вовсе, а файл при этом отдаётся.",{"type":13,"content":508},[509],{"type":16,"text":510},"Кроме самих файлов проверяю то, о чём обычно забывают. Пускает ли сама база подключения из интернета напрямую - на этом хостинге пускала, причём с любого адреса: тому, кто добыл пароль, сайт уже не нужен, он заходит в базу мимо сайта. Не оставил ли кто-то на сайте чужой скрипт для доступа к файлам. И что лежит на соседних сайтах того же аккаунта.",{"type":23,"attrs":512,"content":513},{"level":25},[514],{"type":16,"text":515},"Сколько это было открыто и что теперь доказывать",{"type":13,"content":517},[518],{"type":16,"text":519},"Копии базы лежали с начала марта - пять месяцев. Логи доступа за такой срок хостинг не хранит, поэтому доказать, скачивал кто-то эти файлы или нет, невозможно в принципе.",{"type":13,"content":521},[522],{"type":16,"text":523},"Это важный практический вывод, а не формальность. Если в базе есть персональные данные клиентов, невозможность доказать отсутствие утечки означает, что исходить придётся из худшего: считать данные скомпрометированными, менять ключи и пароли, оценивать обязанности по 152-ФЗ. Разница между \"у нас была дыра\" и \"у нас была утечка\" стоит дорого, и определяется она наличием логов, которых обычно нет.",{"type":23,"attrs":525,"content":526},{"level":25},[527],{"type":16,"text":528},"Правило, которое я соблюдаю жёстко: аудит ничего не меняет",{"type":13,"content":530},[531],{"type":16,"text":532},"Ни одного удаления, переноса или изменения прав на сайте клиента без его отдельного согласия. Даже когда дыра очевидна, даже когда правка обратима.",{"type":13,"content":534},[535],{"type":16,"text":536},"Причина простая. На сайте работает не только тот, кто заказал аудит: есть SEO-подрядчик, прежние разработчики, иногда сам собственник. Той самой панелью управления базой, судя по датам, кто-то регулярно пользовался. Молча снести её - значит сломать чужой рабочий процесс, а объясняться будет заказчик.",{"type":13,"content":538},[539],{"type":16,"text":540},"Логика такая: находки, потом отчёт, потом решение владельца, и только потом правки - с бэкапом до изменения. Файлы, к слову, были открыты уже пять месяцев; час до ответа собственника ничего не менял.",{"type":23,"attrs":542,"content":543},{"level":25},[544],{"type":16,"text":545},"Что было на выходе",{"type":13,"content":547},[548],{"type":16,"text":549},"Два документа. Технический разбор - что где лежит, каким запросом это проверяется, что предлагается сделать. И отчёт собственнику человеческим языком: что нашли, чем это грозит, как давно открыто, что делать в порядке важности и сколько это займёт (получилось около трёх часов работы).",{"type":13,"content":551},[552],{"type":16,"text":553},"Плюс один вопрос, на который может ответить только он: панелью пользуются подрядчики - убираем сразу или сначала предупреждаем.",{"type":23,"attrs":555,"content":556},{"level":25},[557],{"type":16,"text":558},"Что проверить у себя",{"type":119,"content":560},[561,567],{"type":122,"content":562},[563],{"type":13,"content":564},[565],{"type":16,"text":566},"Проверьте, куда ваш плагин бэкапов кладёт копии. Если внутрь сайта - у вас уже открытая база, вопрос только в том, нашли её или нет.",{"type":122,"content":568},[569],{"type":13,"content":570},[571],{"type":16,"text":572},"После любого переезда сайта пройдитесь по остаткам: архивы, установщики, папки с названием installation, копии конфигов.",{"type":23,"attrs":574,"content":575},{"level":25},[576],{"type":16,"text":148},{"type":150,"attrs":578},{"id":579,"junction":153,"collection":154},"43a00a40-0b05-477b-8ee1-add2da798776",{"type":13,"content":581},[582],{"type":16,"text":583},"Посчитайте на своих цифрах. Проверка - три часа работы. На другой чаше весов ваша база: умножьте число заявок в ней на обычные для B2B 3 000 - 15 000 рублей за заявку - столько вы за них уже заплатили. Дальше смена всех паролей и ключей и разбор по 152-ФЗ - это обычно дни руководителя по 7 000 - 10 000 рублей. И доказать, что файлы никто не скачал, не выйдет: логов за пять месяцев нет.",{"type":150,"attrs":585},{"id":586,"junction":153,"collection":389},"5edbabe7-56b5-4def-9699-a3eda5c731c9","Приоткрытая дверь хранилища, полоса света на рядах коробок, незапертый замок",{"title":589,"meta_description":590,"focus_keyphrase":179,"og_image":174,"no_index":180,"no_follow":180,"sitemap":591,"additional_fields":592},"Утечка базы сайта через открытые бэкапы: как проверить свой сайт","Кейс аудита: полные копии базы с персональными данными клиентов скачивались с сайта по прямой ссылке. Что искать, как проверять и почему это не взлом, а рабочий мусор.",{"change_frequency":182,"priority":183},{},"2026-08-27T18:03:48.000Z",[595,597],{"sort":189,"tags_id":596},{"name":401},{"sort":25,"tags_id":598},{"name":194},[600,612],{"id":579,"sort":174,"collection":154,"item":601},{"items":602,"columns":175},[603,606,609],{"lead":604,"text":605},"3 часа","столько заняла проверка: находки, отчёт собственнику и план правок по важности",{"lead":607,"text":608},"5 месяцев","столько копии базы скачивались по прямой ссылке, пока собственник не спросил",{"lead":610,"text":611},"3 000 - 15 000 рублей","обычная цена заявки в B2B; в открытой копии базы лежали все заказы клиентов",{"id":586,"sort":174,"collection":389,"item":613},{"cta_variant":419,"heading":614,"body":615,"button_label":422,"url":174,"glow":185},"Проверить свой сайт?","Если у вас стоит плагин бэкапов или был переезд сайта, копии базы могут лежать снаружи прямо сейчас. Напишите, что за сайт и хостинг - оценю, сколько займёт проверка и что делать с находками.",{"id":617,"modified_on":618},"4c65f02c-1ce3-4f81-bddd-7537e050386b","2026-08-27T18:12:31.902Z",{"id":620,"title":621,"slug":622,"excerpt":623,"content":624,"cover_alt":815,"cover_position":174,"reading_time":175,"seo":816,"robots_index":185,"seo_title":817,"seo_description":818,"date_published":821,"date_modified":174,"source_lead":174,"rubrics":822,"blocks":828,"cover":843},"a3bdafa1-370e-4669-a460-69d658ee9330","Локально или в облаке: когда своё железо дешевле облачного счёта","lokalno-ili-v-oblake","Одна и та же задача на одном и том же сервере: сначала 25 секунд речи обрабатывались две минуты, потом сорок секунд речи укладывались в десять. Показываю на замерах и на деньгах, когда своё железо окупается на вашем потоке, а когда за него платят зря.",{"type":10,"content":625},[626,630,642,647,651,655,660,664,668,672,677,681,685,689,694,698,702,716,721,725,731,757,763,783,787,792,800,805,808,812],{"type":13,"content":627},[628],{"type":16,"text":629},"Голосовой ввод, который я собирал для сайта и для себя, сначала не заработал вообще: распознавание отставало от реального времени в пять раз. Развилку \"локальная модель или облачный API\" после этого я прохожу замерами - у неё есть числовой ответ, и он разный для разных задач.",{"type":13,"content":631},[632,634,640],{"type":16,"text":633},"Задача, на которой я прошёл оба пути до конца, - ",{"type":16,"marks":635,"text":639},[636],{"type":99,"attrs":637},{"href":638},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fwhisperkey-diktovka-dlya-maka","распознавание речи",{"type":16,"text":641},". Расскажу, что получилось, и заодно сформулирую фильтр, по которому эту развилку стоит проходить в любом другом проекте.",{"type":23,"attrs":643,"content":644},{"level":25},[645],{"type":16,"text":646},"Задача",{"type":13,"content":648},[649],{"type":16,"text":650},"Голосовой ввод на сайте и в личных инструментах: человек говорит, получает готовый текст. К этому же классу относится расшифровка звонков и встреч - обычно самый первый реальный ИИ-проект в компании, потому что польза очевидна и данные уже есть.",{"type":13,"content":652},[653],{"type":16,"text":654},"Требования были такие: русский язык, приемлемая задержка, и аудио не должно уезжать в чужие руки без необходимости. Последнее - не паранойя: в звонках клиентов лежат персональные данные, и отправка их наружу превращает техническую задачу в юридическую.",{"type":23,"attrs":656,"content":657},{"level":25},[658],{"type":16,"text":659},"Первый заход: сделать красиво",{"type":13,"content":661},[662],{"type":16,"text":663},"Первым делом я взял готовую потоковую обёртку - из тех, что показывают текст прямо во время речи, слово за словом. Выглядит эффектно, и на демо-роликах всё летает.",{"type":13,"content":665},[666],{"type":16,"text":667},"На сервере без видеокарты она отставала от речи впятеро: 25 секунд речи обрабатывались две минуты. Пользоваться этим нельзя.",{"type":13,"content":669},[670],{"type":16,"text":671},"Сервер тут ни при чём: отдельная машина с быстрыми ядрами, взятая специально под задачу. Дело в подходе: потоковое распознавание постоянно пересчитывает уже сказанное, чтобы уточнить гипотезу, и на процессоре эта переработка съедает всё.",{"type":23,"attrs":673,"content":674},{"level":25},[675],{"type":16,"text":676},"Второй заход: сделать просто",{"type":13,"content":678},[679],{"type":16,"text":680},"Я выбросил потоковость и сделал скучно: человек говорит целиком, запись уходит на сервер одним куском, модель распознаёт её за один проход.",{"type":13,"content":682},[683],{"type":16,"text":684},"Сорок секунд речи обрабатываются за десять. После настройки - в восемь раз быстрее речи: час записи с планёрки превращается в текст за семь минут. Всё на том же сервере без видеокарты.",{"type":13,"content":686},[687],{"type":16,"text":688},"Заодно ушла вторая проблема, о которой я не думал заранее: потоковая выдача даёт рваный текст. Пока модель уточняет гипотезу, фраза на экране дёргается и переписывается. На записи целиком результат сразу чистый.",{"type":23,"attrs":690,"content":691},{"level":25},[692],{"type":16,"text":693},"Третий заход: посчитать на своём железе",{"type":13,"content":695},[696],{"type":16,"text":697},"Отдельная история - обработка на ноутбуке. В современных Маках есть отдельный ускоритель для нейросетей, и собранная под него модель разбирает час разговора за 17 секунд. Разделение на говорящих - примерно столько же. Ноутбук уже куплен, и счёт за минуту распознавания никто не выставляет.",{"type":13,"content":699},[700],{"type":16,"text":701},"Здесь же я собрал грабли, которые стоит знать заранее:",{"type":119,"content":703},[704,710],{"type":122,"content":705},[706],{"type":13,"content":707},[708],{"type":16,"text":709},"Безвентиляторный ноутбук перегревается, если гнать распознавание и разделение говорящих одновременно. Последовательно - те же секунды, но без троттлинга. Параллелить на одном ускорителе бессмысленно.",{"type":122,"content":711},[712],{"type":13,"content":713},[714],{"type":16,"text":715},"Затравка модели (список терминов, чтобы правильно писала специальные слова) должна быть обычной фразой, а не списком. Список, начинающийся со слова \"Термины:\", модель вставляла прямо в расшифровку, а на плохом звуке зацикливалась и повторяла его. Затравку она воспринимает как начало текста и продолжает его. После переписывания живым предложением мусор исчез, и скорость выросла втрое.",{"type":23,"attrs":717,"content":718},{"level":25},[719],{"type":16,"text":720},"Фильтр: когда локально выигрывает",{"type":13,"content":722},[723],{"type":16,"text":724},"Из этой и соседних задач сложилось правило, по которому я развилку прохожу.",{"type":13,"content":726},[727],{"type":16,"marks":728,"text":730},[729],{"type":312},"Локально выигрывает, когда:",{"type":119,"content":732},[733,739,745,751],{"type":122,"content":734},[735],{"type":13,"content":736},[737],{"type":16,"text":738},"нагрузка постоянная и предсказуемая - расшифровка всех звонков, обработка всех документов;",{"type":122,"content":740},[741],{"type":13,"content":742},[743],{"type":16,"text":744},"данные чувствительные и их отправка наружу создаёт отдельную юридическую задачу;",{"type":122,"content":746},[747],{"type":13,"content":748},[749],{"type":16,"text":750},"задача узкая, и под неё есть небольшая специализированная модель;",{"type":122,"content":752},[753],{"type":13,"content":754},[755],{"type":16,"text":756},"нужна независимость от чужой доступности, тарифов и геополитики.",{"type":13,"content":758},[759],{"type":16,"marks":760,"text":762},[761],{"type":312},"Облако выигрывает, когда:",{"type":119,"content":764},[765,771,777],{"type":122,"content":766},[767],{"type":13,"content":768},[769],{"type":16,"text":770},"нагрузка редкая или рваная - железо будет простаивать;",{"type":122,"content":772},[773],{"type":13,"content":774},[775],{"type":16,"text":776},"задача требует рассуждений: разбор смысла, написание текста, принятие решений;",{"type":122,"content":778},[779],{"type":13,"content":780},[781],{"type":16,"text":782},"вы ещё проверяете гипотезу и не знаете, взлетит ли вообще.",{"type":13,"content":784},[785],{"type":16,"text":786},"Практически это чаще всего означает гибрид, и у меня он именно такой: распознавание речи - локально, на своём железе, а причёсывание расшифровки в читаемый текст - облачной моделью. Аудио наружу не уходит, а за интеллект платится там, где он действительно нужен.",{"type":23,"attrs":788,"content":789},{"level":25},[790],{"type":16,"text":791},"Про деньги",{"type":119,"content":793},[794],{"type":122,"content":795},[796],{"type":13,"content":797},[798],{"type":16,"text":799},"Считайте не стоимость запроса, а стоимость месяца при вашей нагрузке. Облачный счёт растёт вместе с потоком, своё железо покупается один раз. И это ещё не всё: главная строка - часы, которые сейчас тратит на это живой человек, умноженные на его ставку. При постоянном потоке железо окупается быстро, при редких обращениях не окупается никогда.",{"type":23,"attrs":801,"content":802},{"level":25},[803],{"type":16,"text":804},"Что это даёт вам в месяц",{"type":150,"attrs":806},{"id":807,"junction":153,"collection":154},"1f3bb2ac-0689-4d3d-a55f-393549604720",{"type":13,"content":809},[810],{"type":16,"text":811},"Посчитайте на своих цифрах. При ставке 500 рублей в час двадцать часовых созвонов в месяц - это 10 000 рублей чужого времени только на прослушивание, и столько же в следующем месяце. Своё железо проходит те же двадцать часов за пару часов и счёт за минуту не выставляет. Плюс риск: если запись с персональными данными ушла наружу, разбор считается днями руководителя по 7 000 - 10 000 рублей.",{"type":150,"attrs":813},{"id":814,"junction":153,"collection":389},"e89df558-4c1d-4ad8-ad47-e2771b55b20e","Весы: монолитный блок против лёгкой формы из тонких линий",{"title":817,"meta_description":818,"focus_keyphrase":179,"og_image":174,"no_index":180,"no_follow":180,"sitemap":819,"additional_fields":820},"Локально или в облаке: когда локальная модель дешевле API","Когда своё железо окупается, а когда дешевле облачный API. Реальные замеры на распознавании речи и расчёт в рублях на вашем потоке звонков.",{"change_frequency":182,"priority":183},{},"2026-08-27T17:42:48.000Z",[823,825],{"sort":189,"tags_id":824},{"name":191},{"sort":25,"tags_id":826},{"name":827},"ИИ и модели",[829,832],{"id":814,"sort":174,"collection":389,"item":830},{"cta_variant":419,"heading":420,"body":831,"button_label":422,"url":174,"glow":185},"У вас копятся записи звонков и встреч, и вы выбираете между своим железом и облаком. Опишите задачу - посчитаю, что дешевле на вашем потоке и что при этом останется внутри компании.",{"id":807,"sort":174,"collection":154,"item":833},{"items":834,"columns":175},[835,838,841],{"lead":836,"text":837},"10 000 рублей в месяц","двадцать часов созвонов в месяц, которые сейчас кто-то слушает по ставке 500 рублей в час",{"lead":839,"text":840},"7 минут на час записи","столько занимает расшифровка на сервере без видеокарты вместо часа прослушивания",{"lead":415,"text":842},"день руководителя, съеденный разбором, если запись с персональными данными ушла наружу",{"id":844,"modified_on":845},"64bd6f0e-23d1-44b4-9f73-ecf6098c1280","2026-08-27T18:12:51.408Z"]