Обмеження реєстрацій з різних мережевих адрес

 

Буває, що потрібно обмежити кількість користувачів, які підключаються до сервера ззовні, через Інтернет. Як зрозуміти, що у вас реєструється та сама людина, але під різними обліковими записами?


Є три варіанти, у кожного з них є свої плюси та мінуси, можна поєднувати їх або використати якийсь один.


  1. Обмеження за IP адресою
    Хороший спосіб, але він буде працювати некоректно, якщо ваші користувачі підключаються до сервера через NAT. Тоді у всіх них, з погляду сервера, буде однаковий IP (адреса шлюзу).


  1. Обмеження за MAC адресою
    MAC адреси визначаються тільки у Windows/macOS та Linux клієнтах MyChat, але не Android/iOS/WEB. Якщо у вас багато користувачів Android, iOS та браузерної версії MyChat — цей спосіб не буде ефективний.


  1. Обмеження по HardwareID
    У Windows та Android це працює добре. Однак HardwareID буде новим, якщо клієнт під macOS або Linux буде перевстановлений і не визначиться, якщо підключається користувач WEB-версією MyChat. У Windows-версії HardwareID розраховується на основі мікропроцесора та серійного номера жорсткого диска, тому після переустановки буде незмінним.

 

Важливий момент! Якщо у вас є користувачі, які працюють у термінальних сесіях, ці обмеження можуть перешкодити їх роботі, тому що у всіх термінальних користувачів будуть однакові IP, MAC і HardwareID (адже вони працюють на тому самому фізичному сервері).