[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Форма регистрации
Dante5
помогите сделать в форме регистрации чтобы можно было регатся один раз с одного IP

ВОт Форма:
<table width="100%">
<
tr>
<
th align="center" scope="col"><form method="post"><table width="350px"><tr><td colspan='2' align='center'>
<?php

$form = 1;

include "config/config.php";
include "bonus.php";

if (isset($_POST['username']))
{
if ($_POST['password1']!=$_POST['password2'])
{
print 'Пароли не совпадают!<br>';
}
else if (strlen($_POST['username'])<3)
{
print 'Логин должен содержать не менее 3-х символов!<br>';
}
else
{
$res = mysql_query("SELECT login FROM users WHERE login='".$_POST['username']."'");

if (mysql_num_rows($res)>0)
{
print 'Пользователь '.$_POST['username'].' уже существует';
}
else
{

$res = mysql_query("SELECT * FROM users WHERE login='".$_POST['referal']."'");

if (mysql_num_rows($res)>0 or $_POST['referal'] == "")
{



mysql_query("INSERT INTO users (login,pass,email,skype,icq,name,referal,bonus) VALUES ('".$_POST['username']."', '".md5($_POST['password1'])."', '".$_POST['email']."', '".$_POST['skype']."', '".$_POST['icq']."', '".$_POST['fio']."', '".$_POST['referal']."', 0)");

mysql_query("UPDATE users SET bonus = bonus + ".$const_bonus_referal." WHERE login='".$_POST['referal']."'");

$res = mysql_query("SELECT login FROM users WHERE login='".$_POST['username']."'");

if (mysql_num_rows($res)>0)
{
print "Регистрация прошла успешно.<br>Введите логин и пароль в форму справа";
$_SESSION['page']='index';
}
else
{
print "Неизвестная ошибка.<br>Попробуйте зарегистрироватся позже";
}
$form = 0;


}
else
{
print "Неверный реферал<br>";
}
}
}
}


if ($form==1)
{


?><h2>Регистрация:</h2>
<
tr><td width="150px" align="left">Логин:<td align="left"><input type="text" name="username" value="<? print $_POST['username']; ?>">
<
tr><td align="left">Ф.И.О.:<td align="left"><input type="text" name="fio" value="<? print $_POST['fio']; ?>">
<
tr><td align="left">Пароль:<td align="left"><input type="password" name="password1" value="<? print $_POST['password1']; ?>">
<
tr><td align="left">Пароль еще раз:<td align="left"><input type="password" name="password2" value="<? print $_POST['password2']; ?>">
<
tr><td align="left">e-mail:<td align="left"><input type="text" name="email" value="<? print $_POST['email']; ?>">
<
tr><td align="left">skype:<td align="left"><input type="text" name="skype" value="<? print $_POST['skype']; ?>">
<
tr><td align="left">icq:<td align="left"><input type="text" name="icq" value="<? print $_POST['icq']; ?>">
<
tr><td align="left">Реферал:<td align="left">
<?php



if (!isset($_GET['ref']))
{
print '<input type="text" name="referal" value="'.$_POST['referal'].'">';
}
else
{
print '<input type="text" disabled="disabled" value="'.$_GET['ref'].'">';
}
?>
<tr><td colspan='2' align="center"><input type="submit" value="Зарегистрировать!">
<
tr><td colspan='2' align="left">Нажимая кнопку "Зарегистрировать Вы автоматически соглашаетесь с <a href="index.php?page=rulles">правилами</a> сайта
<?
}
?>
</table>
</form>

</th>
</tr>
</table>




Спустя 9 минут, 12 секунд (2.09.2011 - 20:00) YVSIK написал(а):
примерно так; вот ваш пользователь уже скажем зарегился в вашей базе
и он при регистрации прописан в базе
теперь чтоб еще раз не регился с этого самого IP надо провести проверку в базе
на соответствие подобного IP на существование ; и как следствие если есть такой IP выдать ему мол вы уже регились или как вам будет удобно это ему написать
Вот примерно таким путем Товарищ
user posted image

написать что-то типо такого
Свернутый текст
$res = mysql_query("SELECT (таблица) FROM (поле) WHERE( выборка в массив что есть )");

if (mysql_num_rows($res)>0)
{
echo 'Регистрация прошла успешно.';

}
else
{
echo 'Вы уже зарегистрировались !!';
}

уже проверять по полю IP и дальше)!!!

Спустя 26 минут, 36 секунд (2.09.2011 - 20:27) Dante5 написал(а):
яя так понял что надо еще в таблу добавить ячейку

Спустя 13 минут, 48 секунд (2.09.2011 - 20:41) YVSIK написал(а):
Dante5 так вот в этом и дело ))
добавь в таблицу ячейку для этого самого IP это только не айс как в смысле по IP это делать )) это не совсем правильно потому что на одном IP много может быть пользователей если он окажется динамическим )))
и к стати прочти вот это мануал полезен для понимания как бороться этой штукой))

Спустя 8 минут, 6 секунд (2.09.2011 - 20:49) twin написал(а):
В больших городах (жители которых и являются потребителями интернета) на одном IP может сидеть до 10000 ни в чем неповинных юзеров. Если их не жаль - вперед.

Как минимум нужно учитывать еще и браузер. Хотя и это все хрень.

Как говорится
Свернутый текст
Это интернет, тут могут и на *** послать.


Я бы посоветовал эту идею забыть и подумать насчет альтернатив.

Спустя 16 минут, 28 секунд (2.09.2011 - 21:05) Dante5 написал(а):
а как тогда сделать чтобы не регали мульти акуанты

Спустя 5 минут, 42 секунды (2.09.2011 - 21:11) YVSIK написал(а):
Dante5 хМ)) странно, а на что те круглое такое) твердое ) что на плечах лежит и иногда что-то хочет ) ) ДАНО ?!!!
вот этим инструментом и пользоваться не забывай))
user posted image

Спустя 4 минуты, 15 секунд (2.09.2011 - 21:15) Dante5 написал(а):
юморист а по сути есть что сказать

Спустя 5 минут, 52 секунды (2.09.2011 - 21:21) twin написал(а):
Цитата (Dante5 @ 2.09.2011 - 18:05)
а как тогда сделать чтобы не регали мульти акуанты

Если бы кто знал... Модераторов бы давно всех поувольняли.

Спустя 3 минуты, 50 секунд (2.09.2011 - 21:25) inpost написал(а):
Dante5
Я же в другой теме ответил тебе, а ты дублируешь вопрос сюда...

Спустя 7 минут, 27 секунд (2.09.2011 - 21:32) YVSIK написал(а):
Dante5 знаешь вот только сегодня придумалось нечто такое
как в однокласниках
ставишь сколько раз регился юзер по скажем некоторому IP
и при достижении некоторой величины выдеш ему форму
ТЫ ХТО ТАКОЙ ?? user posted image вашь IP тут уже был?
и просищ его заполнить или капчу или ещё что какой-нить вопросник
или проверяешь его не только по логину и паролю можешь ещё почту прицеплять
и ещё что-нибудь сам придумай


Спустя 3 минуты, 7 секунд (2.09.2011 - 21:36) bobo написал(а):
Автор, про sql-иньекции почитайте на досуге, переменные-то обрабатывать нужно, прежде чем их в БД запускать.

Спустя 1 час, 5 минут, 11 секунд (2.09.2011 - 22:41) twin написал(а):
Цитата (YVSIK @ 2.09.2011 - 18:32)
Dante5 знаешь вот только сегодня придумалось нечто такое
как в однокласниках
ставишь сколько раз регился юзер по скажем некоторому IP
и при достижении некоторой величины выдеш ему форму
ТЫ ХТО ТАКОЙ ?? user posted image   вашь IP  тут уже был?
и просищ его заполнить или капчу или ещё что какой-нить вопросник
или  проверяешь его не только по логину и паролю можешь ещё почту прицеплять
и ещё что-нибудь   сам придумай

Угу))) И он тут же пускает слезу и говорит - аааа, простите, это я тут регился недавно, больше не будуууу(((

Нет панацеи. Есть маленькие секреты у каждого свои, фик кто поделится. Думайте. Но толку от них все равно мало.

Спустя 2 дня, 14 часов, 49 минут, 9 секунд (5.09.2011 - 13:30) maximka787 написал(а):
Защиту по IP точно глупо ставить, капча даже одна подойдет.
Про города - это верно, но даже если семья решит зарегиться, запретить им что ли? smile.gif к тому же, если пользователь настойчиво хочет зарегиться - пусть. владельцу сайта лучше только, а если злодей, то тут включаешь режим модератора, без этого пока никак.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.