Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Защита php магазина от мошенников
Покинул форум
Сообщений всего: 171
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Здравствуйте, у меня в магазине есть форма POST которая храниться в одном php. Можно ли зашифровать url путь к этому php но при этом чтобы человек например после оплаты мог попасть на этот php только один раз. После последующих заходов урл к php был изменён и попасть на него мог бы только след. покупатель. Т.е при каждом заходе в php и нажимая на кнопку сохранить post формы урл к php менялся
Hidalgo
Отправлено: 09 Апреля, 2012 - 21:02:14
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Февр. 2012 Откуда: Димитровград
Помог: 1 раз(а)
А зачем так сложно?
Можно в базу писать (если юзер зарегистрирован и залогинен) к примеру инфу, может ли он заходить на определенную страницу или нет.
DelphinPRO
Отправлено: 09 Апреля, 2012 - 21:32:26
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
при оформлении покупки генерировать одноразовый токен и хнранить его в сессии.
адрес сделать примерно таким form.php?t=as8d7a89s7d
в form.php проверять токен. если не совпадает - редирект на главную.
после корректного захода - удаляем токен из сессии.
как-то так.
но чет какая-то хрень получается.
----- Чем больше узнаю, тем больше я не знаю.
LIME
Отправлено: 09 Апреля, 2012 - 22:10:01
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
секреты родины продаются в магазине
Ромчик
Отправлено: 10 Апреля, 2012 - 10:30:46
Частый гость
Покинул форум
Сообщений всего: 171
Дата рег-ции: Март 2012
Помог: 0 раз(а)
DelphinPRO, можно поподробнее?
DelphinPRO
Отправлено: 10 Апреля, 2012 - 10:52:57
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
подробнее сам не знаю
так - смутная идея крутится в голове
----- Чем больше узнаю, тем больше я не знаю.
Мелкий
Отправлено: 10 Апреля, 2012 - 11:06:05
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Зачем урл менять?
При оплате пихаете в сессию флаг "есть доступ к странице".
При посещении этой страницы проверяете, есть ли флаг:
если есть - снимаете его и показываете страницу.
Иначе - показываете стандартную свою 404 или редиректите куда нравится.
----- PostgreSQL DBA
Ромчик
Отправлено: 10 Апреля, 2012 - 12:09:51
Частый гость
Покинул форум
Сообщений всего: 171
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Мелкий, можно поподробнее))
Мелкий
Отправлено: 10 Апреля, 2012 - 12:27:11
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ромчик, я не знаю, куда уж подробнее. Что неясно?
----- PostgreSQL DBA
Ромчик
Отправлено: 10 Апреля, 2012 - 13:29:07
Частый гость
Покинул форум
Сообщений всего: 171
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Мелкий, С помощью именно каких сессий? У меня просто 1 php файл в котором размещена форма для ввода данных и скрипт оплаты. Т.е после оплаты человек получает ссылку на email на тот php файл с формой. Я бы хотел сделать так чтобы на тот php можно было зайти только один раз и не более. Чтобы например buy.php?sdfwefewfwefwefewf - человек заходя сюда уже не смог увидеть его т.к buy.php?df3rf3f3r3f34rf34 имел уже другой адрес.
caballero
Отправлено: 10 Апреля, 2012 - 13:35:31
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
ну так добавь туда уникальный номер (timestamp например) и запомни в БД. потом удали после перехода
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.