Проверка за мулти акаунти

tyrla4eto

Registered
Здравейте,
искам да направя функция, която да проверява (сравнява) дали един потребител влиза в повече от 1 акаунт. В базата данни записвам IP на всеки един вход, за всеки един акаунт. Трябва ми да направя примерно:
IP 127.0.0.1 е влизало в акаунти с ID: 1,5,6,2,7 и т.н.
И така за всички IP-та, и ако има съответстиве при IP-тата да изважда информация за възможен мултиакаунтинг.

Как може да стане това, нямам идея как да започна и как да го направя точно. Някакви насоки?
 
Може но е адски не точно. Това, което правиш не е много правилно, тъй като IP адреса може да се смени от потребителя или от интернет доставчика и при 3 опита и да не мога да си влезна в акаунта ? Wtf? Също, ако погледнеш реалистично, потребителя може да си променя кукитата, http- хедърите и какво ли още не. :idea:

Мисля, че може да ползваш нещо кате evercookie: http://samy.pl/evercookie/ - и така да сравняваш, тъй като обикновенно кукито доста рядко забравят да го премахнат. Въпреки,че и това не е решение според мен. :idea:

Идеята е следната, това с IP адресите го изключи, аз мога сам да си сменя IP-то, но може да ми спре интернета и при пускане да ми се смени пак. Може да ползваш evercookie, като записваш уникален ключ за всеки потребител с потребитеския профил, на който принадлежи и това може да сработи. Вече не е като преди 7-8 години, където филтрациите по IP- бяха доста надеждни(не казвам че бяха мега надеждни, но беше по-добре). И отново имай предвид, че ако един потребител, не иска да го разбереш - няма да можеш, особено ако е някой по-навътре с уеб нещата :)

Стана ми интересно, дали някой друг се сеща за разни методи и какво ползват другите в такъв случай. :idea:
 
Ясно, а можеш ли да ми обясниш малко по-подробно как работи точно това evercookie, тъй като не съм запознат с него?
 
Specifically, when creating a new cookie, it uses the
following storage mechanisms when available:
- Standard HTTP Cookies
- HTTP Strict Transport Security (HSTS) Pinning
- Local Shared Objects (Flash Cookies)
- Silverlight Isolated Storage
- Storing cookies in RGB values of auto-generated, force-cached
PNGs using HTML5 Canvas tag to read pixels (cookies) back out
- Storing cookies in Web History
- Storing cookies in HTTP ETags
- Storing cookies in Web cache
- window.name caching
- Internet Explorer userData storage
- HTML5 Session Storage
- HTML5 Local Storage
- HTML5 Global Storage
- HTML5 Database Storage via SQLite
- HTML5 IndexedDB
- Java JNLP PersistenceService
- Java CVE-2013-0422 exploit (applet sandbox escaping)
Код:
 var ec = new evercookie(); 
    
    // set a cookie "id" to "12345"
    // usage: ec.set(key, value)
    ec.set("id", "12345"); 
    
    // retrieve a cookie called "id" (simply)
    ec.get("id", function(value) { alert("Cookie value is " + value) });
 
Ясно как се правят, но след това как се работи с тях не ми е ясно.. Смисъл как става проверката за да разбера дали даден човек влиза в 2 ацц-та...
 
pix3l каза:
Сверявай им паролите при съмнение... ;D

Ако ще е так мога и IP да сръвнявам и т.н. Мен ми трябва да ми вади поне възможните мулти и вече ръчно да си ги проверявам. При висок брой потребители няма как да гледам всички....
 
Освен по IP проверявай, по активност. Освен това можеш по използван браузър също да си вадиш заключения дали акаунтите са на един човек. Принципно наистина тази информация може да се сменя от потребителя, но повярвай ми не всеки потребител го прави, а и правят и те грешки. Дали ще се ползват еднакви мета данни на браузъри или прочие винаги се издават. Води си статистика, на активността на акаунтите и ще видиш мнооого голяма логическа зависимост. Обикновенно акаунтите са на линия паралелно или единият се логва когато другият се е разлогнал с малка времева разлика. Нужно си е да се направи цял дял на сайта да обработва тази информация в админ панела. Ще се наложи да създадеш таблица с логовете на потребителите. Смисъл запомняш кога даден потребител се е логнал последно, като им даваш някакво ограничение на запомняне примерно последни 15 лога и правиш сравнение дали тези логове съвпадат по времетраене с тези на определен акаунт. Има доста начини, но IP е само една основна проверка за отсяване на не добре запознатите с устройството на интернет потребители.
 
При регистрация да им праща SMS на телефона :) пък нека прави акаунти..... но все пак няма как да ограничиш това , особено по IP е смешно моето ип се ползва от още 30 човека :D защото съм на някакъв скапан доставчик а имах случай в стара загора където бяха 100 до 400 човека на едно IP уникални случай за пестене на пари :).
Другото което е че това със кеша не става, а това http://samy.pl/evercookie/ е много яко но не е сигурно и този метод не го препоръчвам защото се вижда ясно че този код със един блокер издъхва :) , нз как ще работи ако някой има AdBlock или нещо подобно.
Ама може така да си мисля само аз дано някой по запознат да каже.
 
17aohGa.png
 
tyrla4eto каза:
pix3l каза:
Сверявай им паролите при съмнение... ;D

Ако ще е так мога и IP да сръвнявам и т.н. Мен ми трябва да ми вади поне възможните мулти и вече ръчно да си ги проверявам. При висок брой потребители няма как да гледам всички....
Именно де, наред с останалите параметри, по които съдиш дали е един и същ юзър, добавяш и сверяване на паролите. С това разчиташ, че потребителят е идиот и ползва една парола за всичките си акаунти. ;D
 
evercookie ще ти свърши работа, малко е старо, но става.
Но по-ново и много по-усъвършенствано е fingerprintjs2
 

Горе