2

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

Я пытаюсь выяснить, есть ли способ, которым мы можем использовать геокодирование на стороне клиента в этом сценарии (во избежание попадания в пределы использования API Карт Google), например. пользователь вводит свой адрес, а браузер извлекает результат геокода с использованием библиотеки JS и включает его в форму представления. Проблема в том, что пользователь может вмешиваться в форму отправки и потенциально размещать заказы по его адресу для цен, которые применяются к другому набору координат.

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

ответ

2

Если вы хотите, чтобы клиентская машина выполнила запрос, вы будете немного ограничены в аспекте безопасности, так как все это будет javascript, а злоумышленник может проверить скрипт и посмотреть, что вы делает. Поэтому даже попытки «обеспечить» это были бы ограничены в успехе.

Моей единственной рекомендацией было бы сделать «окончательную проверку» сервером так же, как пользователь отправляет свои результаты. Это должно снизить количество обращений к API на вашей стороне сервера, но будет поддерживать 100% -ную защиту.

+0

Да, если я сделаю окончательную проверку при размещении заказа, я полагаю, это становится проблемой роскоши, когда слишком много людей хотят покупать вещи :) – Nikolaj

+0

Бинго! Вы получаете выгоду от локального хранилища пользователей, но за безопасность его проверки. –

5

Nevertrustdatacreatedclientside. Все, что вы можете сделать на стороне клиента, они могут.

+0

Если API Карт Google подписал результат, который будет одним из решений. Я знаю о проблеме подделывания, поэтому я задал вопрос. – Nikolaj

+0

@ Николай: Но они этого не делают. – Piskvor

+0

Не важно, подписывает ли Google результат. Мошеннический клиент будет нарушать предоставленные данные _to_ Google, и Google вернет подписанный, но испорченный результат. – MSalters

1

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

Смежные вопросы