Запретить регистрацию нескольких учетных записей с одного ip

Started by ler on 2014-11-01 10:28 — 6 replies, 1399 views

#1
Есть такая функция в движке, но следует ее допилить. Ведь многие сидят на одном ip.

Пока только идея сделать дополнительную проверку на ОС
function getOS($userAgent) {
$oses = array (
'iPhone' =--> '(iPhone)',
'Windows 3.11' => 'Win16',
'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)',
'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
'Windows 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME',
'Open BSD'=>'OpenBSD',
'Sun OS'=>'SunOS',
'Linux'=>'(Linux)|(X11)',
'Safari' => '(Safari)',
'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
'QNX'=>'QNX',
'BeOS'=>'BeOS',
'OS/2'=>'OS/2',
'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp/cat)|(msnbot)|(ia_archiver)'
);

foreach($oses as $os=>$pattern){
if(preg_match("/$pattern/i", $userAgent)) {
return $os;
}
}
return 'Unknown';
}
#2
Есть такая функция в движке, но следует ее допилить. Ведь многие сидят на одном ip.

Пока только идея сделать дополнительную проверку на ОС
function getOS($userAgent) {
$oses = array (
'iPhone' =--> '(iPhone)',
'Windows 3.11' => 'Win16',
'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)',
'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
'Windows 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME',
'Open BSD'=>'OpenBSD',
'Sun OS'=>'SunOS',
'Linux'=>'(Linux)|(X11)',
'Safari' => '(Safari)',
'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
'QNX'=>'QNX',
'BeOS'=>'BeOS',
'OS/2'=>'OS/2',
'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp/cat)|(msnbot)|(ia_archiver)'
);

foreach($oses as $os=>$pattern){
if(preg_match("/$pattern/i", $userAgent)) {
return $os;
}
}
return 'Unknown';
}

Хм... допустим будет проверка на ось + проверка на IP. Думаю большинство обычных юзеров используют одинаковые системы, т.ч. проверка на ось мало что даст.
#3
Есть старая штука. Супербан называется. Она там на js. Вычисляет несколько комбинаций. Даже очистить куки не поможет. Т.к. там дохера сочетаний создается на ОС и разрешение экрана. Короче стоит почитать).
#4
Почитал, но явы не нашел там. Его же для контры создавали.

Жаль в хроме не работает http://js.do/code/mac
#5
Чё?) Какая ещё нахер контра?)
http://deadlock.org.ua/kit/habr/post/1345
#6
Невозможность бана по ай-пи, похоже забыли исправить в последних альфах 🙁
#7
Невозможность бана по ай-пи, похоже забыли исправить в последних альфах
https://torrentpier.com/threads/chernye-spiski-ban.26844/ - тема висит в разделе багов и статус у нее указан. При решении насущных задач будут все баги исправлены.