Как обезопасить сайт от ботов и взломов?
1. Сделать - это можно: капча + локальный ID=логин+пасс+random+timestamp с хранением в datastorage (его можно создать в любой момент даже без участия пользователя).

Но встают моменты: телефон без подтверждения => телефон укажут чужой просто, чтобы кого-то постоянно спамили звонками => сайт закроют быстро по жалобам.

2. Про остальное, в плане безопасности - это настройка правил файрволла и правил веб-сервера.
Мы хотим сделать, так чтобы можно они могли публиковать без регистрации и авторизации.
Если вы собираетесь сделать доску объявлений без регистрации то вам придется столкнуться не только со спамом но и с флудом.
Вам необходима капча и детальная настройка вводимых данных пользователем (Например ограничение объявления 450 символами).

Если пользователь делает более 100 публикаций в минуту, блокируем. Этого достаточно или что то упускаю?
Вы упускаете возможность того, что ваш сайт могут взломать. Например посредствам XSS уязвимости украдут cookie сессию администратора. Проверить на уязвимости можно специальными сканерами Legion, OWASP ZAP или Sparta. Из онлайн вариантов подойдут  специальные ресурсы, сканеры уязвимостей, которые могут проверить большинство уязвимостей на каждом из уровней. https://metascan.ru или https:// detectify.com/ Они покажут XSS уязвимости, возможность внедрения SQL инъекций и уязвимости сетевого стека.