Лучший способ реализовать корзину с помощью PHP / MySQL - PullRequest
7 голосов
/ 19 января 2009

Я работаю над сайтом клиента, и они попросили корзину для покупок. Они должны использовать securetrading.net для оплаты, поэтому мне не нужно спрашивать какие-либо данные кредитной карты. Все, что мне нужно сделать, это отслеживать товары в их корзине.

Я читал об использовании сессий PHP, но меня там беспокоит безопасность. Разве это не проблема, если единственная информация, которую я храню, это коды продуктов и их количество? В противном случае, стоит ли использовать базу данных MySQL?

Извините, если кажется, что это очевидно, но я впервые реализую подобные вещи!

Ответы [ 4 ]

8 голосов
/ 19 января 2009

Существует учебник для простой / маленькой php / MySQL корзины, который сохраняет статус корзины в сессиях, есть даже загружаемый демонстрационный код и онлайн-демонстрация.

http://v3.thewatchmakerproject.com/journal/276/building-a-simple-php-shopping-cart

Я использовал его, когда полномасштабные программы онлайн-шоппинга были просто «переполнены». Точно так же, как вам, вам не нужно было брать данные cc, регистрацию пользователя и т. Д. ... просто отправляй выбранные товары в процесс покупки через платежный шлюз и после этого забудь об этом. Это то, что клиент хотел, и это то, что он получил в итоге (мой первый выбор был magento, но это было слишком сложно для клиентов 3 продукта).

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

3 голосов
/ 19 января 2009

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

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

1 голос
/ 19 января 2009

Я бы использовал сеансы PHP, так как вы храните только коды продуктов / количества. Да, они открыты для «атаки» - но атака будет чем-то вроде изменения кодов продуктов (убедитесь, что вы добавили проверку на действительные коды, прежде чем передавать информацию в свой платежный шлюз), и количества (снова выполните проверку на количество под рукой, если потребуется)

Переменные сеанса открыты для атаки пользователями, но если кто-то хочет «обмануть» мою систему и оформить 4 элемента вместо 1, это на самом деле не проблема.

0 голосов
/ 19 января 2009

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

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

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

...