Я хочу создать форму, которой нельзя манипулировать - PullRequest
0 голосов
/ 12 августа 2011

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

Большое спасибо за ваши ответы ВАСУ

Ответы [ 4 ]

5 голосов
/ 12 августа 2011

и может изменить цену продукта перед проверкой данных

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

Все, что рассчитано на стороне клиента, никогда не заслуживает доверия.

Пока вы занимаетесь этим, убедитесь, что вы не столкнетесь с следующей ошибкой на пути: убедитесь, что пользователи не могут вводить дроби при указании количества элементов, например 0.1 -приводя к 10% от первоначальной цены.:)

2 голосов
/ 12 августа 2011

После оформления заказа пересчитайте все цены на стороне сервера снова на основе действительного / округленного количества.Перед тем как приступить к оплате платежного инструмента, отобразите пользователю недоступную для редактирования страницу подтверждения.Если пользователь не согласен с подтверждением, он может вернуться в корзину и внести изменения.

1 голос
/ 12 августа 2011

Когда форма отправлена, рассчитайте цену товаров в корзине и сравните ее с ценой, указанной браузером.

Если они различаются, попросите пользователя подтвердить реальную цену.

0 голосов
/ 12 августа 2011

Договорились с Пеккой.Сама цена не должна быть частью формы.Единственное, что должно быть отправлено - это упорядоченная ссылка на product_id.Расчет цены должен быть сделан на сервере после отправки формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...