След като прочетох урока на WildBeast , се досетих ,че с неговият код защитаваме регистрацията на много потребители от 1 IP ,но само ако IP-то им е статично.Неговият код ,не работи ако IP-то ви е динамично.В този урок ще ви покажа как да се защитите благодарение на Cookies(бисквитки).
Не е кой знае каква защита ,но в много случай ,може да се окаже полезна.
По същият начин работи и система на bgtop.net ,при която повторното гласуване е невъзможно.
Ето го и кодът:
В кода съм добавил примерна Input форма.
С функцията oB_start(); дава начало на бисквитките. Без тази функция не можем да ги ползваме.
$_COOKIE е масив в който се съдържат всички бисквитки. Когато бисквитката 'register' има стойност 1 ( която се задава от : setcookie("register", "1", time()+(60*60*24*365*5)); ) не можем да се регистрираме. По подразбиране 'register' няма стойност , т.е. когато няма стойност регистрацията или тя е различна от 1 регистрацията ще се осъществи.
Демо не мога да дам в момента.
Не е кой знае каква защита ,но в много случай ,може да се окаже полезна.
По същият начин работи и система на bgtop.net ,при която повторното гласуване е невъзможно.
Ето го и кодът:
Код:
<?
oB_start();
if ( $_POST['btn'] )
{
if ( $_COOKIE['register'] == "1" )
{
echo 'Само по 1 регистрация';
}
else
{
echo 'Успешна регистрация';
setcookie("register", "1", time()+(60*60*24*365*5));
//Кодът ви за регистрация
}
}
else
{
echo '<form action="" method="post">
<input type="text" name="user">
<input type="submit" name="btn">
</form>'; // Примерна форма
}
?>
В кода съм добавил примерна Input форма.
С функцията oB_start(); дава начало на бисквитките. Без тази функция не можем да ги ползваме.
$_COOKIE е масив в който се съдържат всички бисквитки. Когато бисквитката 'register' има стойност 1 ( която се задава от : setcookie("register", "1", time()+(60*60*24*365*5)); ) не можем да се регистрираме. По подразбиране 'register' няма стойност , т.е. когато няма стойност регистрацията или тя е различна от 1 регистрацията ще се осъществи.
Демо не мога да дам в момента.