Запрет иметь 2 аккаунта

akademik

Новичок
Репутация
0 / 276
Нашёл на форуме такую фишку:
Пользователь может зарегистрировать только один аккаунт на одном IP-адресе
В файле reg.php
ищем строки
Код:
        $ExistMail = doquery("SELECT `email` FROM {{table}} WHERE `email` = '" . mysql_escape_string($_POST['email']) . "' LIMIT 1;", 'users', true);
        if ($ExistMail)
        {
                $errorlist .= $lang['mail_already_exists'];
                $errors++;
        }
добавляем ниже
Код:
$ExistIP = doquery("SELECT `ip_at_reg` FROM {{table}} WHERE `ip_at_reg` = '". $_SERVER["REMOTE_ADDR"] ."' LIMIT 1;", 'users', true);
$ExistIP = doquery("SELECT `user_lastip` FROM {{table}} WHERE `user_lastip` = '". $_SERVER["REMOTE_ADDR"] ."' LIMIT 1;", 'users', true);
   if ($ExistIP) {
      $errorlist .= "Ваш IP-адрес уже зарегистрирован";
      $errors++;
   }

И
Описание: Игроки с одинаковым IP-адресом не смогут совершать полеты друг на друга
В файле ShowFleet3Page.php
ищем строку
Код:
if($HeDBRec['onlinetime'] >= (time()-60 * 60 * 24 * 7))
добавляем ниже
Код:
if ($MyDBRec['user_lastip'] == $HeDBRec['user_lastip'] AND $MyDBRec['user_lastip'] > 0 AND $HeDBRec['id'] != $MyDBRec['id'])
     {
         message ("<font color=\"red\">[b]". "Нельзя контактировать с одинаковым IP" ."[/b]</font>", $lang['fl_worning'], "fleet." . $phpEx, 2);
          }

П.С. Мне вот интересно, а ктонить переделывал тоже самое плюс ещёб чтоб на заход в игру сразу проверялось, но не по айпи, так как у многих диномические, а по мак адресу?
 
П.С. Мне вот интересно, а ктонить переделывал тоже самое плюс ещёб чтоб на заход в игру сразу проверялось, но не по айпи, так как у многих диномические, а по мак адресу?
пробовали, но ни одного рабочего скрипта нормального определения Мака не нашли...
 
пробовали, но ни одного рабочего скрипта нормального определения Мака не нашли...
Хорошо, а как сделать хотяб по айпи на вход в игру?
п.с. конешно по мак адресу это былоб отлично.
 
Хорошо, а как сделать хотяб по айпи на вход в игру?
п.с. конешно по мак адресу это былоб отлично.
открой Index.php
Код:
$login = doquery("SELECT `id`,`username`,`password`,`banaday`` FROM {{table}} WHERE `username` = '" . mysql_escape_string($_POST['username']) . "' AND `password` = '" . md5($_POST['password']) . "' LIMIT 1", "users", true);
поменяй на это
Код:
$login = doquery("SELECT `id`,`username`,`password`,`banaday`,`ip_at_reg` FROM {{table}} WHERE `username` = '" . mysql_escape_string($_POST['username']) . "' AND `password` = '" . md5($_POST['password']) . "' LIMIT 1", "users", true);
и после
Код:
if($login['banaday'] <= time() && $login['banaday'] != '0')
            {
                doquery("UPDATE {{table}} SET `banaday` = '0', `bana` = '0' WHERE `username` = '".$login['username']."' LIMIT 1;", 'users');
                doquery("DELETE FROM {{table}} WHERE `who` = '".$login['username']."'",'banned');
            }
добавить

Отлично использовать в локалке 100% антимульт
 
Приколист, после чаго вообще не куда не пускает :)
так ты смотри с чем сравнивает регистрационный ip и ip пользователя который хочет войти в игру, ну допустим у админа нет рег ip и его конечно не впустит
 
так ты смотри с чем сравнивает регистрационный ip и ip пользователя который хочет войти в игру, ну допустим у админа нет рег ip и его конечно не впустит
угу, не впустит, но он потом и назад на старый не пускает*sad*
Всё разобрался! просто в базе в админке сменил рег айпи и поставил разные.
 
Неа я пробовал, чушь... Даже с других компов не зайти.
 
:) :) :) поставил запрет на взаимодействие с одинаковым IP'ом,но как летали друг на друга,так и летают...
 
Отлично использовать в локалке 100% антимульт
Угу, ток он не запрет ставит, а сразу банит, так как если попробовать зайти на другой аккаунт, он банит сразу оба и пожизнено :)
 
Делайте проверку текущей сессии. Если Ид игрока при входе отличается от предыдущего, то обоим предупреждение, пару раз предупреждение, потом бан. Единственное что может сделать мультовод - это стереть куки или заходить под разными браузерами, тогда никак не отследишь )) но не факт что игроку хватит ума стереть куки )) многие как правило туда даже не лазят
 
пробовали, но ни одного рабочего скрипта нормального определения Мака не нашли...

Есть и рабочие чего ты говорить что нету, все есть.
Вот только ребят вы не думаете что пишите, мак видно только в первой сети. А то что он проходит сквозь роутеры сервера и проброс портов и т.д.. конечно убивают возможность определить. Только если у браузерки есть клиентская часть (игровой браузер) в которую это можно встроить. И то мак менять легко да и получить его сможете только при прямом пинге компа.
 
Отлично использовать в локалке 100% антимульт
Может тогда сделать чтоб пользователю не сообщение про айпи выводилось, а бан на N- колличество времени?
Хотя, опять же, если по вашему скрипту, то пока айпи не сменится, он зайти не сможет.

Делайте проверку текущей сессии. Если Ид игрока при входе отличается от предыдущего, то обоим предупреждение, пару раз предупреждение, потом бан. Единственное что может сделать мультовод - это стереть куки или заходить под разными браузерами, тогда никак не отследишь )) но не факт что игроку хватит ума стереть куки )) многие как правило туда даже не лазят
А вы случайно не писали под xgp защиту от мультиводства, тоже самое как для икариам? Офигеная там получилось защита.
 
Сверху