Как да забраним регистрацията на много потребители с 1 IP адрес
12-11-2009
Здравейте.

Сега съм решил да Ви споделя моя авторски PHP скрипт, който съм си написал с цел ако някой си е забравил паролата на акаунта в сайта ми, да не може да си направи нова регистрация! За тази работа Вие трябва да имате собствена логин система, която да записва IP адреса на потребителя, когато той си прави регистрация. Ако случайно нямате собствена логин система, погледнете тук в web-tourist.net! Да минем сега към урока.

Отваряте файла, от който човека ще си прави регистрацията и над всичко пишете следния скрипт:

<?php
$ip = $_SERVER["REMOTE_ADDR"];
$mysql6 = mysql_query('SELECT * FROM members WHERE ip = "'.$ip.'"') or die(mysql_error());
while($row = mysql_fetch_array($mysql6)){
echo '<div align="center">Вече има регистриран потребител със следния IP адрес: <b>'.$ip.'</b>.<br>Профилът му е <a href="profile.php?id='.$row['id'].'">'.$row['user'].'</a>.</div>';
exit();
}
?>


Разяснения:
Променливата $ip е равна на Вашият IP адрес.
Фунция mysql_query();: Тя служи за свързване с MySQL-а. В случая съм написал SELECT * FROM members WHERE ip = "'.$ip.'", което означава: Селектираме от таблицата members, полето ip, което е равно на IP-то на човека, който иска да се регистрира.

Минаваме на долу

Тук следва функцкия, която прави проверка дали вашият IP адрес го има в таблица members, поле ip. Ако го има, ще Ви изпише следното: Вече има регистриран потребител със следния IP адрес: <b>'.$ip.'</b>.<br>Профилът му е <a href="profile.php?id='.$row['id'].'">'.$row['user'].'</a>

Разяснения:
Променливата $ip е равна на Вашият IP адрес.
Променливата $row['id'] е вашият номер на регистрация.
Променливата $row['user'] е вашият потребител (username, nickname...).

Всичко това се изважда от таблицата members и полетата: id , user , ip.
Ето го и крайния резултат:



Надявам се урока ми да Ви е бил полезен и моля, не го копирайте без мое разрешение!!






/ Трябва да сте регистриран за да напишете коментар /
От: admin
17:41 12-11-2009
Кода го одобрих защото си се старал но аз не виждам как ще може да се използва, защото има много потребители тук, които влизат с динамични Ип адреси или ползват общо ИП.
С твоя код ще страдат само тези с реални ИП адреси, а те създават най-малко проблемни.
От: WildBeast
17:49 12-11-2009
Нямам си и идея как ще се забрани регистрация на даден потребител с динамичен IP адрес.
От: stoqnski
17:50 12-11-2009
Съгласен съм с admin,кода е много еднотипен .
От: admin
17:58 12-11-2009
То може да се забрани но не бива, защото днес е един с това Ип а утре друг.
От: ludasam
8:35 26-03-2010
супер е браво
От: kulov
18:22 09-04-2010
Ти не проверяваш, колко са записите, които отговарят на тези изисквания, трябва да се сложи един mysql_num_rows и чак, ако резултати са повече от 0 да се прави това ..
1