Перейти к содержанию

Можно ли вывести пользователей с одинаковыми ИП адресами?


Рекомендуемые сообщения

Здравствуйте!

Хочу найти возможные дубли пользователей, для этого хотелось бы отобразить не уникальные ИП адреса при входе/регистрации.

В админке можно просмотреть конкретный ИП адрес и кто с него регился/входил, а так что бы списком именно неуникальных не нашёл.

Может быть есть какой-либо плагин?

P.S. Да, я понимаю, что пользователи могут быть за одним NATом, тогда ИП будет совпадать, либо один и тот же ИП может  быть выдан в разное время разным пользователям и ничего сверх необычного в этом нет. 

 

Ссылка на комментарий
Поделиться на другие сайты

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

 

Ссылка на комментарий
Поделиться на другие сайты

Для начала воспользовался сортировкой по ИП в списке пользователей, тогда одинаковые будут рядом, но когда пользователей много понял, что просматривать все очень долго,

тогда экспортировал всех пользователей (при экспорте пользователей можно выбрать нужные поля) в Эксель, дальше выделяем колонку с ИП адресами, в верхней менюшке Главная->Группа "Стили"->Условное форматирование->Правила выделения ячеек->Повторяющиеся значения. Таким макаром все повторяющиеся подсветятся, ну а после делаем сортировку  Главная->Группа "Редактирование"->Сортировка и фильтры->Сортировать от А до Я и теперь повторяющиеся ИПшники будут рядом и можно быстро глазами пробежать.

Ссылка на комментарий
Поделиться на другие сайты

А можно просто выполнить 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

 

Ссылка на комментарий
Поделиться на другие сайты

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 ?

Ссылка на комментарий
Поделиться на другие сайты

Забыл предупредить, действительно первый запрос довольно суровый на таблице с большим количеством записей.
Более оптимизированный вариант этого запроса

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

 

Ссылка на комментарий
Поделиться на другие сайты

И небольшая статистика сколько пользователей использовали один 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 , прошу не цитировать сообщения целиком с запросами, трудно после этого ориентироваться в теме, да и читать такую тему портянку не очень приятно.

 

Ссылка на комментарий
Поделиться на другие сайты

Я думаю не плохой плагин получился бы.

Ссылка на комментарий
Поделиться на другие сайты

Для плагина нужна обертка, продуманная структура, а составлять sql запросы многого не требуется.

Ссылка на комментарий
Поделиться на другие сайты

Оно того стоит? У большинства idsl с динамическим ip, также некоторые сидят под общим ip (в организациях, например).

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...