Как да забраним регистрацията на много хора с 1 IP адрес?

В този раздел ще се поместват уроците, свързани с програмирането и дизайна.
Post Reply
User avatar
Xen
V.I.P
V.I.P
Posts: 618
Joined: 14 May 2009, 16:07
Steam Community ID: XEN3
Location: Враца

Как да забраним регистрацията на много хора с 1 IP адрес?

Post by Xen »

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

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

Code: Select all

<?php
$ip = $_SERVER["REMOTE_ADDR"];
$mysql6 = mysql_query("SELECT * FROM members WHERE ip = '$ip'");
$row = mysql_fetch_array($mysql6);
extract($row);
if($row == TRUE){
echo "<div align='center'>Вече има регистриран потребител със следния IP адрес: <b>$ip</b>.<br>Профилът му е <a href='profile.php?id=$id'>$user</a>.</div>";
} else {
echo "Формата Ви за регистрация на потребител.";
}
?>
Обяснения кое за какво служи:
<?php
$ip = $_SERVER["REMOTE_ADDR"]; // $_SERVER["REMOTE_ADDR"]; е IP адресът на потребителя, който се присвоява от променливата $ip.
$mysql6 = mysql_query("SELECT * FROM members WHERE ip = '$ip'"); // Изпращаме заявка към MySQL, която гласи: Селектирай всичко от members където ip е равно на $ip (това е вече присвоеният IP адрес).
$row = mysql_fetch_array($mysql6); // Превръщаме резултата в array.
extract($row); // Екстрактваме резултатите.
if($row == TRUE){ // Проверяваме дали има запис с този IP адрес и ако има следва това от долу.
echo "<div align='center'>Вече има регистриран потребител със следния IP адрес: <b>$ip</b>.<br>Профилът му е <a href='profile.php?id=$id'>$user</a>.</div>"; // След като сме екстрактнали резултатите не е нужно да пишем $row['user']; и т.н., може само с $user, където user е полето с потребителя в дадената таблица. Разбира се при Вас може да е по друг начин, заместете с името на полето от базата данни.
} else { // или ако няма следва това от долу.
echo "Формата Ви за регистрация на потребител.";
}
?>
Важно: Не винаги трябва да се използва функцията extract();! За повече информация прочетете предупрежденията (Warnings) тук - http://bg.php.net/manual/en/function.extract.php

Ето го и крайния резултат:
Image

Надявам се урока ми да Ви е бил полезен и моля, не го копирайте без мое разрешение!!
Last edited by Xen on 12 Nov 2009, 17:25, edited 1 time in total.
User avatar
JoKeRa96
Banned
Banned
Posts: 9
Joined: 21 Jul 2009, 11:00
Skype: kane_9620

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by JoKeRa96 »

с е107 ли си
User avatar
Xen
V.I.P
V.I.P
Posts: 618
Joined: 14 May 2009, 16:07
Steam Community ID: XEN3
Location: Враца

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by Xen »

JoKeRa96 wrote:с е107 ли си
Не, с моя система - wSys.
User avatar
JoKeRa96
Banned
Banned
Posts: 9
Joined: 21 Jul 2009, 11:00
Skype: kane_9620

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by JoKeRa96 »

хм не е знам но я отиди в админ панела дай на потребители и настройки и там търси поне при е107 е така :(

пиши какво естанало
User avatar
musicon-bgnet
Потребител
Потребител
Posts: 5
Joined: 25 Dec 2008, 13:53
CS Nick: shiT
Favorite version: CS: 1.6
Steam Community ID: 26227188

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by musicon-bgnet »

Разясни им за какво служи цикълът while, също така някой могат да нямат поле ip в таблица members :)
т.е да не записват ип-то.

от професора хаха
User avatar
Xen
V.I.P
V.I.P
Posts: 618
Joined: 14 May 2009, 16:07
Steam Community ID: XEN3
Location: Враца

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by Xen »

musicon-bgnet wrote:Разясни им за какво служи цикълът while, също така някой могат да нямат поле ip в таблица members :)
т.е да не записват ип-то.

от професора хаха
Не разбрах това от професора хаха за какво беше?
User avatar
Andyyy
Потребител
Потребител
Posts: 39
Joined: 28 Mar 2009, 21:55
Contact:

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by Andyyy »

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

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

Code: Select all

<?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();: Тя служи за свързване с базата данни. В случая съм написал SELECT * FROM members WHERE ip = "'.$ip.'", което означава: Селектираме от таблицата members, полето ip, което е равно на IP-то на човека, който иска да се регистрира.

Обяснение за while - http://bg.php.net/while
Обяснение за mysql_fetch_array - http://bg.php.net/mysql_fetch_array

Тук следва фунцкия, която прави проверка дали вашият 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.
Ето го и крайния резултат:

Image

П.П.: Ако някъде съм сгрешил с обясненията, моля да ме поправите :).

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

http://web-tourist.net/login/login/view.php?st=2980 , Браво :)
User avatar
Xen
V.I.P
V.I.P
Posts: 618
Joined: 14 May 2009, 16:07
Steam Community ID: XEN3
Location: Враца

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by Xen »

Урока си е мой, какво искаш да кажеш с цитата и линка към web-tourist?
User avatar
Dan7e
V.I.P
V.I.P
Posts: 271
Joined: 03 Mar 2009, 21:29
CS Nick: Dan7e
Favorite version: CS: Global Offensive
Steam Community ID: Dan7eBG
Contact:

Re: Как да забраним регистрацията на много хора с 1 IP адрес?

Post by Dan7e »

WildBeast wrote:Урока си е мой, какво искаш да кажеш с цитата и линка към web-tourist?
Май ти казва браво,щото си го побликувал в wt :) . Браво за урочето
User avatar
h0st4o
Потребител
Потребител
Posts: 352
Joined: 12 Jun 2009, 09:25
Skype: yonka_ta
CS Nick: h0st4o ;]
Favorite version: CS: 1.6
Steam Community ID: h0st4o_bg
Location: Г.Оряховица

Re: Как да забраним регистрацията на много хора с 1 IP адрес

Post by h0st4o »

:D
Има 1 потрибител с това ип има и 2ри и какво ,става втория не може да се регистрира пълна простотия :sarcastic_hand:
User avatar
Xen
V.I.P
V.I.P
Posts: 618
Joined: 14 May 2009, 16:07
Steam Community ID: XEN3
Location: Враца

Re: Как да забраним регистрацията на много хора с 1 IP адрес

Post by Xen »

Преработих скрипта и написах нови обяснения. Надявам се сега да е по-ясно.
User avatar
DJSimba
Gimp User !
Gimp User !
Posts: 48
Joined: 09 Dec 2009, 16:21
Skype: simeon.gigov
CS Nick: BurniN
Favorite version: CS: 1.6
Location: Пазарджик
Contact:

Re: Как да забраним регистрацията на много хора с 1 IP адрес

Post by DJSimba »

Полезен урок :) !
Post Reply

Return to “Учебни теми”