Я, возможно, переоцениваю интеллект создателей ботов, но номер 6 совершенно бесполезен против любого полу достойного создателя бота. Использование элемента управления браузера C # для создания вашего бота сделает 6 бесполезными. Из того, что я видел с этим типом программного обеспечения, это довольно распространенный подход.
Проверка на useragent практически бесполезна, и весь спам в блоге, который я использую, был получен от ботов, которые кажутся действительными веб-браузерами.
Я использую, чтобы получить много спама в блоге. Я бы буквально удалял сотни комментариев в день. Я использовал reCaptcha и теперь могу получать 1 раз в месяц.
Если вы действительно пытаетесь сделать что-то подобное. Я бы попытался сделать следующее:
Пользователь начинает с невозможности опубликовать URL.
После того, как X постов было проанализировано относительно других постов в ветке, предоставьте им доступ к URL постов.
Активность пользователей на сайте, качество сообщений и любые другие факторы, которые вы считаете необходимыми, будут иметь репутацию IP-адреса этих пользователей.
Затем, основываясь на репутации IP-адреса и других IP-адресов в одной подсети, вы можете принимать другие решения в зависимости от того, что вы хотите.
Это было только первое, что пришло в голову. Надеюсь, это поможет.