Ув. Форумчане подскажите пожалуйста как можно дать бан по ип в pw? Просто один так сказать не очень хороший человек создает акк за акком и оскарбляет людей в мир чат. Спасибо зарание
Немножко переписать скрипт регистрации. Если при регистрации ip не фиксировалось, дописать. И добавить функцию проверки, до создания аккаунта. На форуме были примеры подобных регистраций.
Если памать мне не изменяет то в стандартной таблице есть колонка для IP - `qq`. При занесении вноси туда $_SERVER['REMOTE_ADDR'] а перед занесением проверяй 代码: $result_count = mysql_query('Select Count(ID) exists from `users` where `qq` = "'.preg_replace('/[^0-9a-Z:]/','',$_SERVER['REMOTE_ADDR']).'"'); $row_count = mysql_fetch_assoc($result_count); if($row_count['exists'] > 0) die(' Уже есть аккаунт с таким айпи ');
Регулярка для ipшки вообще убила - "/[^0-9a-Z:]/"... Я конечно понимаю, что ip на всех не хватает, но эту проблему решают при помощи IP_v6, но многие буквы там не должны присутствовать. А так, круто было бы иметь ip [2013fig:etjK:akoj:IP34:8a2e:07a0:765d].
Получай решение проблемы 代码: exec("ping ".$REMOTE_ADDR." -n 1 -l 1 -f -r 1"); exec("arp -a ".$REMOTE_ADDR,$arp); $temp=ereg_replace(" +"," ",$arp[0]); $temp=explode(" ",$temp); print "IP: ".$temp[1]."<br>"; print "MAC: ".$temp[3]; Проверка созданных ранее аккаунтов 代码: $result = mysql_query("SELECT qq FROM users WHERE (qq = '$ip')"); $num_rows = mysql_num_rows($result); if($num_rows >= 2)
Виноват не дописал Вот полная проверка. 代码: $result = mysql_query("SELECT qq FROM users WHERE (qq = '$ip')"); $num_rows = mysql_num_rows($result); if($num_rows >= 2) { exit( 'Нельзя регистрировать более 2 игровых аккаунтов.'); } А за скрипт благодари Кенпачи. он давно давно выложил это
Даа, времена меняются) Не понял. Ок, пропинговали IP адрес, и чего собсно добились? Типа раз пингуется значит подлинный? Но тогда не подлинных и не бывает, следовательно нахрена нам пинговать? Если уж завелись умники с "трололо" вместо IP адреса (хотя вообще не ясно что эти люди делают на игровом сервере) то можно пропустить через регулярку И на счёт мака... у кого IP выделенный (внешний) тогда да, будет мак сетевой карты/роутера, но ведь долеко не у всех он внешний, будешь получать мак шлюза с которого сидит пару десятков тысяч человек. Например у нас в СПб гдето четверть народу юзают ADSL Avangard, там внешний IP адрес это как отдельная услуга, и вот сделали мы уникализацию по маку вдруг... Заверяю, что мой вариант с count(PRIMARY_KEY) лучше. Хотя в данном случае разница вообще не видна.