[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запретить отправлять много писем подряд?
123456
Здравствуйте. Интересует такой вопрос. Хочу сделать Подтверждение регистрации по E-mail. Но вот не приведет ли это к бану, в системе куда будут письма отправляться(яндекс, маил, гмаил...)???

Поподробнее:
Есть кнопка "Отправить повторно письмо на емаил"
Когда пользователь нажимает ее, скрипт отправляет письмо.
А вот если он 1000-10000 раз нажмет на неё? Не забанят ли меня сервисы эти??? Хостинг ведь может запретить отправку писем!!!

Что вы по этому поводу думаете???

Может сделать ограничение, можно отправлять 1 письмо в 10 минут каждому пользователю? или как???



Спустя 37 минут, 29 секунд (27.08.2012 - 21:34) Zzepish написал(а):
Можно!
Ставь проверку ттаймстампа

<?php
$minutes=10*60;
if($time_from_base_of_the_send_msg+$minutes>time()){
echo 'Вы уж отправляли сообщение в течении последних десяти минут.';
}
?>

Спустя 10 минут, 18 секунд (27.08.2012 - 21:44) 123456 написал(а):
функцию я знаю как написать. Что это за переменная $time_from_base_of_the_send_msg???

Спустя 1 минута, 47 секунд (27.08.2012 - 21:46) Zzepish написал(а):
Это данные времени в типе TIMESTSTAMP (time()) которые ты занес в базу с id-пользователя, после передачи сообщения. Оно в секундах с 1970 года 00:00 часов, коли не память не врет

Спустя 3 минуты, 6 секунд (27.08.2012 - 21:49) 123456 написал(а):
ну я это всё знаю. ТОлько имеет ли смысл это всё делать??? Может хостинг и сервис отнесутся нормально к такой рассылке?

Спустя 1 минута, 55 секунд (27.08.2012 - 21:51) Zzepish написал(а):
Ну, тебе решать. Я тебе подсказал ответ.
А как там хостинг- я хз)

Спустя 4 минуты, 49 секунд (27.08.2012 - 21:55) 123456 написал(а):
то что ты мне сказал, то я и сам мог сделать. и на конкретно интересующий вопрос - не ответил.

Спустя 8 минут, 27 секунд (27.08.2012 - 22:04) johniek_comp написал(а):
на кохане я так делал
if($_POST)
{
if( ! Cookie::get("privat"))
{
Cookie::set("privat", md5(time()), 180);
}
else
{
Cookie::set("outside", md5(time()), 60 * 10);
// Request::initial()->redirect("/adminauth/outside/");
echo "Вы уже отправили емейл!";
}
}


обычно не трудно догадаться как переписать, мне лень с коханы переписывать ... нажал на кнопку и отправил емейл, а больше не отправит, только через 10 минут

Спустя 3 минуты, 57 секунд (27.08.2012 - 22:08) Zzepish написал(а):
Ну, других вариантов я не вижу, темболее, что, как я слышал, мыло адекватно принимает сообщение по внутренней почте, но фигово по внешней (могут быть баны)

Спустя 1 минута, 31 секунда (27.08.2012 - 22:09) Zzepish написал(а):
johniek_comp
куки- фиговое решение.
Или база, или сессии

Спустя 35 секунд (27.08.2012 - 22:10) 123456 написал(а):
а зачем в куках хранить вообще??? их спокойно можно удалить и всё

Спустя 26 секунд (27.08.2012 - 22:10) johniek_comp написал(а):
Zzepish
не гони обоснуй

Спустя 2 минуты, 36 секунд (27.08.2012 - 22:13) johniek_comp написал(а):
123456
а какой дебил будет отправлять письмо, удалять куки, и обратно отправлять? biggrin.gif не выдумывай...если тебе нужна защита от случайного запроса, то я выше описал, если от целенаправленного то только ставить не убиваемые куки

Спустя 1 минута, 59 секунд (27.08.2012 - 22:15) Zzepish написал(а):
johniek_comp
их можно сбросить.
Может я и параноик, но так, ИМХО, надежней

Спустя 1 минута (27.08.2012 - 22:16) 123456 написал(а):
Цитата (johniek_comp @ 27.08.2012 - 20:10)
Zzepish
не гони обоснуй

не ну, мало ли идиотов за компами)

Спустя 57 секунд (27.08.2012 - 22:17) johniek_comp написал(а):
Zzepish
сессия надежнее кук? почитай что такое сессия хоть

Спустя 9 минут (27.08.2012 - 22:26) 123456 написал(а):
проще же в БД

Спустя 11 минут, 41 секунда (27.08.2012 - 22:38) Zzepish написал(а):
johniek_comp
сорь, тупанул, тогда база

Спустя 51 минута, 36 секунд (27.08.2012 - 23:29) dron4ik написал(а):
Цитата (johniek_comp @ 27.08.2012 - 20:13)
123456
а какой дебил будет отправлять письмо, удалять куки, и обратно отправлять? biggrin.gif не выдумывай...если тебе нужна защита от случайного запроса, то я выше описал, если от целенаправленного то только ставить не убиваемые куки

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

Спустя 3 часа, 50 секунд (28.08.2012 - 02:30) 123456 написал(а):
Цитата (dron4ik @ 27.08.2012 - 21:29)
Цитата (johniek_comp @ 27.08.2012 - 20:13)
123456
а какой дебил будет отправлять письмо, удалять куки, и обратно отправлять?  :D  не выдумывай...если тебе нужна защита от случайного запроса, то я выше описал, если от целенаправленного то только ставить не убиваемые куки

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

При удачной отправке письма, у меня идет запрос update к бд. Вот к этому запросу я и дописал время отправки.

А проверяю так:

if($user['email_sms']+600 < time())
{
// Отправляем письмо
}
else
{
echo "нельзя так часто слать письма";
}
Быстрый ответ:

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