Riflio Опубликовано 30 марта, 2019 Поделиться Опубликовано 30 марта, 2019 Здравствуйте! Хочу найти возможные дубли пользователей, для этого хотелось бы отобразить не уникальные ИП адреса при входе/регистрации. В админке можно просмотреть конкретный ИП адрес и кто с него регился/входил, а так что бы списком именно неуникальных не нашёл. Может быть есть какой-либо плагин? P.S. Да, я понимаю, что пользователи могут быть за одним NATом, тогда ИП будет совпадать, либо один и тот же ИП может быть выдан в разное время разным пользователям и ничего сверх необычного в этом нет. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
siv1987 Опубликовано 30 марта, 2019 Поделиться Опубликовано 30 марта, 2019 SQL запросом можно посмотреть пользователи которые использовали одинаковые IP SELECT i.member_id, i.ip_address FROM core_members_known_ip_addresses i INNER JOIN core_members_known_ip_addresses z ON i.ip_address=z.ip_address AND i.member_id!=z.member_id GROUP BY i.ip_address, i.member_id alexis и Riflio 1 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Riflio Опубликовано 30 марта, 2019 Автор Поделиться Опубликовано 30 марта, 2019 Для начала воспользовался сортировкой по ИП в списке пользователей, тогда одинаковые будут рядом, но когда пользователей много понял, что просматривать все очень долго, тогда экспортировал всех пользователей (при экспорте пользователей можно выбрать нужные поля) в Эксель, дальше выделяем колонку с ИП адресами, в верхней менюшке Главная->Группа "Стили"->Условное форматирование->Правила выделения ячеек->Повторяющиеся значения. Таким макаром все повторяющиеся подсветятся, ну а после делаем сортировку Главная->Группа "Редактирование"->Сортировка и фильтры->Сортировать от А до Я и теперь повторяющиеся ИПшники будут рядом и можно быстро глазами пробежать. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
siv1987 Опубликовано 30 марта, 2019 Поделиться Опубликовано 30 марта, 2019 А можно просто выполнить sql запрос и посмотреть только пользователей с повторяющемся ip. И извращения с экспортом пользователей тоже лишнее, это решается обычным sql запросом SELECT m.name, m.member_id, m.ip_address FROM core_members m LEFT JOIN core_members z ON m.ip_address=z.ip_address WHERE m.member_id!=z.member_id GROUP BY ip_address, member_id Таким образом можно выбрать пользователей которые использовали одинаковые IP при регистрации. Статистика по каждому IP использующегося больше одного раза SELECT ip_address, COUNT(*) as count FROM core_members GROUP BY ip_address HAVING count > 1 alexis 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
alexis Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 17 hours ago, siv1987 said: А можно просто выполнить sql запрос и посмотреть только пользователей с повторяющемся ip. И извращения с экспортом пользователей тоже лишнее, это решается обычным sql запросом SELECT m.name, m.member_id, m.ip_address FROM core_members m LEFT JOIN core_members z ON m.ip_address=z.ip_address WHERE m.member_id!=z.member_id GROUP BY ip_address, member_id Таким образом можно выбрать пользователей которые использовали одинаковые IP при регистрации. Статистика по каждому IP использующегося больше одного раза SELECT ip_address, COUNT(*) as count FROM core_members GROUP BY ip_address HAVING count > 1 Хех, верхний запрос достаточно суровый: долго грузило, и в итоге выдало 504 Gateway Time-out (nginx) без отображения результатов. Но скорее всего потому, что у меня у очень многих пользователей стоит в ip_address 127.0.0.1. Вопрос: как-то можно в том SQL запросе поставить условие "КРОМЕ вывода пользователей с ip_address 127.0.0.1", siv1987 ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
siv1987 Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 Забыл предупредить, действительно первый запрос довольно суровый на таблице с большим количеством записей. Более оптимизированный вариант этого запроса SELECT i.member_id, i.ip_address FROM ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as i INNER JOIN ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as z ON i.ip_address=z.ip_address AND i.member_id!=z.member_id GROUP BY i.ip_address, i.member_id Исключить пользователей с ip 127.0.0.1 SELECT i.member_id, i.ip_address FROM ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as i INNER JOIN ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as z ON i.ip_address=z.ip_address AND i.member_id!=z.member_id WHERE i.ip_address!='127.0.0.1' GROUP BY i.ip_address, i.member_id и вариант с выведением имени пользователя SELECT m.name, i.member_id, i.ip_address FROM ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as i INNER JOIN ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as z ON i.ip_address=z.ip_address AND i.member_id!=z.member_id LEFT JOIN core_members m ON i.member_id=m.member_id GROUP BY i.ip_address, i.member_id alexis 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
siv1987 Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 И небольшая статистика сколько пользователей использовали один IP SELECT ip_address, COUNT(*) as count FROM ( SELECT member_id, ip_address FROM core_members_known_ip_addresses GROUP BY ip_address, member_id ) as i GROUP BY ip_address HAVING count > 1 ORDER BY count DESC alexis , прошу не цитировать сообщения целиком с запросами, трудно после этого ориентироваться в теме, да и читать такую тему портянку не очень приятно. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 Я думаю не плохой плагин получился бы. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
siv1987 Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 Для плагина нужна обертка, продуманная структура, а составлять sql запросы многого не требуется. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 1 апреля, 2019 Поделиться Опубликовано 1 апреля, 2019 Оно того стоит? У большинства idsl с динамическим ip, также некоторые сидят под общим ip (в организациях, например). Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.