SESSION & SSL
3 отговора
89 прегледа
SESSION & SSL
Имам проблем свързан със регистриране на сесийна променлива в среда на SSL.
Ситуацията е следната:
от чужд сайт, потребителя кликва върху линк или бутон и идва на моя сайт. Тук трябва да регистрирам две променливи - от кой сайт идва и потребителското име с което е регистриран съответния сайт (за да знам коя таблица в базата-данни да използвам).
> Аз самия малко се обърках, затова редактирам:
при първото посещение на потребителя, генерирам сесия и стойността на $PHPSESSID я записвам в cookie - така разпознавам потребителите когато след малко пак дойдат на сайта.
За второто (потребителското име) използвам cookie в което на последно място слагам 1 вместо 0. Обаче за това от къде идва искам да регистрирам сесия. Адреса не го взимам от $HTTP_REFERER а си идва или като част от линка, или като hidden поле във съответния формуляр. Не искам да слагам cookie, защото може да се получи ситуация при която един и същ потребител идва от различни сайтове и тогава ще се получи объркване къде точно да се върне.
В първия момент, когато за пръв път потребителя идва на моя сайт, всичко е ок. Сложил съм си "контрола" която изписва стойностите на $_POST['return'] $_GET['return'] $_SESSION['return'] , обаче при следващо движение в моя сайт, цялата тази информация се губи.
Проблем ли е че за име на променливата използвам думата "return" ?
Най-елементарното което ми идва на ум е да записвам тази информация в една табличка и после да взимам пак от там инфото за да върна потребителя на правилния адрес.
Ситуацията е следната:
от чужд сайт, потребителя кликва върху линк или бутон и идва на моя сайт. Тук трябва да регистрирам две променливи - от кой сайт идва и потребителското име с което е регистриран съответния сайт (за да знам коя таблица в базата-данни да използвам).
> Аз самия малко се обърках, затова редактирам:
при първото посещение на потребителя, генерирам сесия и стойността на $PHPSESSID я записвам в cookie - така разпознавам потребителите когато след малко пак дойдат на сайта.
За второто (потребителското име) използвам cookie в което на последно място слагам 1 вместо 0. Обаче за това от къде идва искам да регистрирам сесия. Адреса не го взимам от $HTTP_REFERER а си идва или като част от линка, или като hidden поле във съответния формуляр. Не искам да слагам cookie, защото може да се получи ситуация при която един и същ потребител идва от различни сайтове и тогава ще се получи объркване къде точно да се върне.
В първия момент, когато за пръв път потребителя идва на моя сайт, всичко е ок. Сложил съм си "контрола" която изписва стойностите на $_POST['return'] $_GET['return'] $_SESSION['return'] , обаче при следващо движение в моя сайт, цялата тази информация се губи.
Проблем ли е че за име на променливата използвам думата "return" ?
Най-елементарното което ми идва на ум е да записвам тази информация в една табличка и после да взимам пак от там инфото за да върна потребителя на правилния адрес.
Редактирано от $burov на
Re: SESSION & SSL
PHPSESSID е различно всеки път...прави си твое си ID.
"Да живееш - значи да се променяш." - Анатол Франс
"Да живееш - значи да се променяш." - Анатол Франс
Re: SESSION & SSL
PHPSESSID го използвам за да си създам cookie:
setcookie('client_id', $PHPSESSID и така нататък...);
когато потребителя дойде на моя сайт правя една проверка:
if(!empty($_COOKIE['client_id']))
{
//добавям новата информация в таблицата за съответния потребител
}
else
{
setcookie('client_id', $PHPSESSID и така нататък...);
}
setcookie('client_id', $PHPSESSID и така нататък...);
когато потребителя дойде на моя сайт правя една проверка:
if(!empty($_COOKIE['client_id']))
{
//добавям новата информация в таблицата за съответния потребител
}
else
{
setcookie('client_id', $PHPSESSID и така нататък...);
}
Re: SESSION & SSL
И после?...Не съм сигурен, че разбрах какво точно се опитваш да направиш...
"Да живееш - значи да се променяш." - Анатол Франс
"Да живееш - значи да се променяш." - Анатол Франс