Хорошо, а если так? На вход страницы вешаем код, который будет писать IP, тип браузера и операционки из user_agent каждого посетителя в БД, а так же дату и время визита. На этой же странице размещаем скрипт JS, который через 15 сек после первого входа на сайт отправит запрос в БД. Если посетитель ушел (и запрос из браузера, соответственно, на сервер не придет), то в этой строке БД ставим метку. После визитов уже 2-х ботов получится матрица из 2-х IP, 2-х браузеров и 2-х операционок. Далее каждого посетителя проверяем на совпадение IP, браузера и операционки из этой матрицы, и если есть совпадения по 3-м параметрам, то блокируем. Через сутки крон удалит записи старше 24 часов. Переходы по внешним URL, телефонам и e-mail отслеживать через страницу редиректа, которая будет убирать метку в БД.
Для самых примитивных ботов и живых накрутчиков - пойдёт. Для обычной практики - уже бесполезно. Да и, собственно, я отключил интернет на смартфоне, подключил опять - и вот новый ip.
Хорошо, а если так?
На вход страницы вешаем код, который будет писать IP, тип браузера и операционки из user_agent каждого посетителя в БД, а так же дату и время визита. На этой же странице размещаем скрипт JS, который через 15 сек после первого входа на сайт отправит запрос в БД. Если посетитель ушел (и запрос из браузера, соответственно, на сервер не придет), то в этой строке БД ставим метку.
После визитов уже 2-х ботов получится матрица из 2-х IP, 2-х браузеров и 2-х операционок. Далее каждого посетителя проверяем на совпадение IP, браузера и операционки из этой матрицы, и если есть совпадения по 3-м параметрам, то блокируем. Через сутки крон удалит записи старше 24 часов.
Переходы по внешним URL, телефонам и e-mail отслеживать через страницу редиректа, которая будет убирать метку в БД.
Для самых примитивных ботов и живых накрутчиков - пойдёт. Для обычной практики - уже бесполезно.
Да и, собственно, я отключил интернет на смартфоне, подключил опять - и вот новый ip.