[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка Сессии
user007
Всем привет. Предупреждаю, что я новичок, сильно не ругайте :)
Очень долго пытаюсь поставить проверку на сессию, но никак не могу найти решение проблемы. .
Все заключается вот в чем...
session_start();
$_SESSION['ses'] ;

Создал Сессию.
Записал ее в пхп отправке письма. Потом в том же документе написал
session_start();
if(isset($_SESSION['ses'])){
echo '<script language="javascript">
alert("Нельзя отправлять так часто сообщение.");
document.location.href = "/";
</script>'
;

exit;
}

Нужно, чтобы при первой отправке открывалась сессия, которая запрещает следующую отправку.
Но не работает...Очень нужна помощь, выручите!)
Valick
Цитата

Нужно, чтобы при первой отправке открывалась сессия, которая запрещает следующую отправку.
Но не работает...Очень нужна помощь, выручите!)

Нужно чтобы вы на время отложили желание кодить в темную голову, а немного уклонились в сторону теории.
Я уже говорил, и еще наверно не раз повторюсь, что практика без теории = говнокод.
Хотите быть говнокодером?


_____________
Стимулятор ~yoomoney - 41001303250491
user007
Цитата (Valick @ 22.01.2014 - 09:40)
Цитата

Нужно, чтобы при первой отправке открывалась сессия, которая запрещает следующую отправку.
Но не работает...Очень нужна помощь, выручите!)

Нужно чтобы вы на время отложили желание кодить в темную голову, а немного уклонились в сторону теории.
Я уже говорил, и еще наверно не раз повторюсь, что практика без теории = говнокод.
Хотите быть говнокодером?

Знаете, мне не приятно читать такое. Я начинаю с малого, пробую всякие способы для реализации моих желаний. Когда уже никак не могу найти ответ, прошу помощи у более опытных.
Valick
Цитата
Знаете, мне не приятно читать такое.

Я задал вам вполне конкретный вопрос.
Хотите быть очередным говнокодером, продолжайте в том же духе.
Постом выше я имел ввиду на данном этапе вам надо учиться не преодолевать трудности, а не создавать себе трудности, т.е. грамотно ставить перед собой задачу.
Если не хотите быть говнокодером, то начинайте учить теорию и вам с радостью, быстро и грамотно начнут отвечать на ваши вопросы. А пока даже непонятно что вы там задумали и какой очередной велосипед вы хотите изобрести.
___
ну а приятно неприятно, мы тут вроде как не в детском садике...


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
может логичней будет так


при отправки сообщения сохранить unixtimestamp сервера в сессию, соответственно сначала проверить - есть ли сессионная переменная,
если её нету - то создать, если она есть то сравнить время и проверить разницу во времени.

у php тоже есть редирект

header("location: url");


exit'ом убивать скрипт - это жёстко.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
linker
Игорь_Vasinsky
Здесь php-шный не канает, потому что перенаправление выполняет клиентская сторона, после того, как клиентская же сторона нажмёт на кнопку ОК в диалоговом окне на клиентской же стороне.

user007
Как-то так видимо
session_start();
if (!isset($_SESSION['sent']))
{
mail(...);
$_SESSION['sent'] = 1;
}
else
echo 'Error';


_____________
Gear Framework
Gear Framework на Github
Игорь_Vasinsky
а что мешает на сервере эту проверку проводить?

в идеале и там и там вообще

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
user007
Всем спасибо за ответы. Скоро попробую версию от Линкера - Отпишу.
Игорь Vasinsky, я только учусь и не хорошо разбираюсь smile.gif Мне нужно просто временное ограничение на отправку письма.Из всех способов которые я нашел, думаю сессии самое подходящее.
Valick
Цитата
думаю сессии самое подходящее

смотря на сколько это ограничение временное, да и вообще сессию можно обмануть, у вас авторизация есть?


_____________
Стимулятор ~yoomoney - 41001303250491
user007
Цитата (Valick @ 22.01.2014 - 16:58)
Цитата
думаю сессии самое подходящее

смотря на сколько это ограничение временное, да и вообще сессию можно обмануть, у вас авторизация есть?

Ограничение хочу на час. Насчет обмана я знаю, но лишняя защита очень поможет мне. Вот если была бы авторизация, я бы не искал других выходов. Я один авторизацию долго делать буду, на это время хоть какая-то защита нужна smile.gif
Valick
срок жизни сессии 20 минут по умолчанию, но если не принимать кукисы, то можно отправлять писем сколько влезет, я уже молчу про прокси сервера.
Авторизация, это лучший выход.
Второй вариант очень жесткий, можно посылать зашифрованную куку и разрешить отправку письма не ранее чем через час после установки этой пиченюхи, подобным образом раньше была организована защита от накрутки голосования на mmotop, сейчас не знаю как там.

_____________
Стимулятор ~yoomoney - 41001303250491
user007
Цитата (Valick @ 22.01.2014 - 17:13)
срок жизни сессии 20 минут по умолчанию, но если не принимать кукисы, то можно отправлять писем сколько влезет, я уже молчу про прокси сервера.
Авторизация, это лучший выход.
Второй вариант очень жесткий, можно посылать зашифрованную куку и разрешить отправку письма не ранее чем через час после установки этой пиченюхи, подобным образом раньше была организована защита от накрутки голосования на mmotop, сейчас не знаю как там.

Про авторизацию - это да ) Обязательно будет, просто попозже )) Сейчас на время нужно хоть как-то защититься )
user007
Цитата (linker @ 22.01.2014 - 11:10)
Игорь_Vasinsky
Здесь php-шный не канает, потому что перенаправление выполняет клиентская сторона, после того, как клиентская же сторона нажмёт на кнопку ОК в диалоговом окне на клиентской же стороне.

user007
Как-то так видимо
session_start();
if (!isset($_SESSION['sent']))
{
    mail(...);
    $_SESSION['sent'] = 1;
}
else
    echo 'Error';

Спасибо огромное! Ты не представляешь, как ты меня спас!!! Работает!
Valick
Цитата
Спасибо огромное! Ты не представляешь, как ты меня спас!!! Работает!

отключи в браузере кукися и попробуй

_____________
Стимулятор ~yoomoney - 41001303250491
user007
Цитата (Valick @ 22.01.2014 - 19:38)
Цитата
Спасибо огромное! Ты не представляешь, как ты меня спас!!! Работает!

отключи в браузере кукися и попробуй

Я знаю, что их обойти не трудно ) И это временно, потом уже будет авторизация ))
Быстрый ответ:

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