Автор Тема: PrestaShopDatabaseException  (Прочитано 561 раз)

14 Октябрь 2016, 10:33:08
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
опуская детали, при работе через модуль payparts2 (онлайн рассрочка от ПриватБанка) получаю след. картину:

собсно говоря, ранее такого не было. что случилось - не ясно.
хотел пойти легким путём и просто разрешить нулл-значение столбцу `secure_key` (хз, зачем он вообще нужен), сделал это - и всё было отлично. но, почистив везде кеш и куки, картина та же самая, а в бд - снова запрещено нулл-значение.
собсно, вопрос в том, как жестко забить разрешение нулл-значения либо же как решить данную проблему?
бегаю пока по проекту, пытаюсь понять в чём же соль. пока безуспешно.
14 Октябрь 2016, 10:34:37
Ответ #1
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
тем более, что они часто повторяются. судя по всему, хеш чего-то.
14 Октябрь 2016, 11:05:15
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
secure_key нужен чтобы платежи проводить. Без него твой магазин быстро хакнут.
Если сильно хочешь удалить, то можешь изменить в таблице и классе, который отвечает за табдицу.
Для ps_order класс Order.
14 Октябрь 2016, 11:44:49
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Вам его не удалить. Он есть в любом контроллере, secure_key автоматически добавляется в url для отслеживания и авторизации обращений к сайту.
18 Октябрь 2016, 18:13:14
Ответ #4
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
короче заметил, что если добавлять товар в корзину, после чего жмакать "Продолжить покупки", то в базе (table `ps_cart`) создаётся запись этой корзины, но `secure_key` отсутствует, но если после этого перейти в /quick-order , т.е. в оформление заказа, то после этого `secure_key` заполняется и в базе и всё хорошо работает.
ну и если сразу же, после добавления в корзину, нажать "Оформить заказ" и попасть в /quick-order, то там уже `secure_key` тоже нормальный.

можно ли его как-то сразу определить? без захода в /quick-order ?

з.ы. mircom.ua, чтобы было понятно, что за кнопки.. если не понятно )
18 Октябрь 2016, 19:23:08
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Можно конечно
'&key='.$customer->secure_keyк ссылке добавь
19 Октябрь 2016, 17:11:17
Ответ #6
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
так это ж ключ, он не должен быть в урле, если уж он вообще нужен...
19 Октябрь 2016, 17:17:27
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Должен. Без такого ключа ни один интернет-мегезине не работает.
19 Октябрь 2016, 17:31:18
Ответ #8
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
в моем понимании подобный ключ должен обеспечивать некую конфиденциальность данных, но если его видно прямо в урле...
19 Октябрь 2016, 17:43:44
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В url виден хеш ключа. В престе все нормально с безопасностью, все уже придумано, только пользуйся.