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

  • Thread starter Thread starter ler
  • Start date Start date
L

ler

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

Пока только идея сделать дополнительную проверку на ОС
Code:
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.

Пока только идея сделать дополнительную проверку на ОС
Code:
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. Думаю большинство обычных юзеров используют одинаковые системы, т.ч. проверка на ось мало что даст.
 
Есть старая штука. Супербан называется. Она там на js. Вычисляет несколько комбинаций. Даже очистить куки не поможет. Т.к. там дохера сочетаний создается на ОС и разрешение экрана. Короче стоит почитать).
 
Почитал, но явы не нашел там. Его же для контры создавали.

Жаль в хроме не работает http://js.do/code/mac
 
Last edited by a moderator:
Back
Top