Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита от авторегистраций как реализовать??? 
:(
    Опции темы
Гость_Сергей
Дата 22.7.2004, 01:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Интересно как пишут такие штуки как защиту от автоматических регистраций???, то есть я имею ввиду как пишут такие фичи на PHP, которые предлагают ввести некоторые символы случайно сгенерированные на картинке, например, такие штуки используют в регистрационных формах.

Я так это понимаю:
1) Нужен файл php который будет формировать картинку.
2) И Сам файл где находится форма, где и отображается эта картинка со случайными цислами.


Ну картинку я делаю в файле например png.php. Листинг:
====================================================
<?
// передаем заголовок
Header("Content-Type: image/png");

// создаем дескриптор изображения и регистрируем цвета
$im = ImageCreate(150, 30);
$black = ImageColorAllocate($im, 255, 255, 230);
$color = ImageColorAllocate($im, 0, 0, 0);

// выполняем "заливку" рисунка
ImageFill($im, 0, 0, $black);

// случайное число:
$text = mt_rand (1000000000, 9999999999);

// помещаем на изображение текст
ImageString($im, 25, 30, 10, $text, $color);
imageLine ($im, 250, 25, 0, 23, $color);
imageLine ($im, 1, 0, 250, 50, $color);
imageLine ($im, 250, 15, 0, 12, $color);

ImagePng($im);
ImageDestroy($im);
?>
=========================================================
Картинка есть... дальше в файле где находится форма пусть например forma.php я включаю этот рисунок такой строкой:
<IMG SRC="png.php" WIDTH="150" HEIGHT="30" BORDER=1 bordercolor=black>

Ну все, казалось бы у меня все получилось, только вот незадача как же мне, то есть файлу формы (forma.php) определить правильно ли ввел человек эти самые случайные цисла на картинке??? т.е. задача состоит в том, чтобы каким-то образом вытянуть из файла где формируется эта картинка (png.php) это самое случайное цисло, то бишь переменную: $text а затем в файле сравнить эту переменную $text с той которую введет юзер в форму. И как это реализовать???
Благодарю всех кто поможет найти решение или предложит свой вид организации данной функции - функции предотвращающей авторегистрации.
  Вверх
Chuck
Дата 22.7.2004, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Сушня
**


Профиль
Группа: Эксперт
Сообщений: 442
Регистрация: 12.12.2003
Где: Узбекистан, Ташке нт

Репутация: нет
Всего: 9



А просто!
Создаешь сессию
В png.php пишешь типа $_SESSION['numbers'] = твои цифорки;
А в form.php читаешь сессию и сверяешь!
Можно так, помоему!
Можно куки, хотя одно и тоже, что и сессия!
PM MAIL WWW GTalk   Вверх
Ignat
Дата 22.7.2004, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата
Можно куки, хотя одно и тоже, что и сессия!

colgate.gif
Однако...


--------------------
Теперь при чем :P
PM   Вверх
IZ@TOP
Дата 22.7.2004, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
Можно куки, хотя одно и тоже, что и сессия!

Не путай куки с сессиями. С куками такой вариант поддается взлому: я могу написать бота который тебе пару тысяч юзеров зарегит, просто будет с кук считывать инфу и регить, регить и регить ... \:D/
И та же ситуация с тем если сессии с куками совмещены (что чаще всего и делается).
Остается вариант писать в файл/бд инфу - дата в формате юникс штамп|циферки подтвеждения регистрации, и будет Вам счастье.
PS Главное не забывай удалять просроченные записи ( минут 10-20 на заполнение формы думаю хватит).


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Secandr
Дата 22.7.2004, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



IZ@TOP
Достаточно писать в сессии, тогда в куки будет передан только id сессии, а инфа будет на винте на сервере, тогда не нужно будет думать об удалении файлов и прочем.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.