2015-07-14 2 views
-1

Веб-сайт запрашивает URL-адрес из удаленного RESTful API, который затем возвращает объект JSON с конфиденциальными данными.Как правильно защищать вызов AJAX?

Как защитить этот звонок от «клиента»? Если я отправляю какие-либо заголовки или отправляю данные для аутентификации (ключи, учетные данные и т. Д.), Он все равно будет видимым пользователю и победит цель.

В принципе, как я могу убедиться, что кто-то не может назвать тот же URL-адрес, который я вызываю через AJAX в своем браузере и защищаю конфиденциальные данные? Если я использую параметры сообщения, они будут видны в коде javascript.

$.post({ 
    url: ..., 
    username: ..., 
    password: ..., 
    key: ..., 
    ... 
}); 
+0

Возможный дубликат [Как защитить мои вызовы jQuery AJAX в PHP и Javascript?] (Http://stackoverflow.com/questions/20170728/how-to-secure-my-jquery-ajax-calls-in-php -and-javascript) –

+0

Что (если есть) PHP вы используете здесь? – jonmrich

+1

вы не можете. Все данные должны быть в javascript для javascript для его отправки, и если он находится в javascript, клиент может его увидеть, скопировать, а затем отправить запрос самостоятельно с помощью инструмента, такого как скрипач или почтальон, измененный любым способом, который им нравится , –

ответ

0

Ну, я думаю, вы можете использовать маркеры для идентификации и истекают их, скажем, после п числа запроса. Однако любые данные, которые вы хотите отправить на сервер из браузера, будут видны пользователю, если вы не обработаете (не зашифруете) данные.

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

0

Ваша текущая цепь событий:

форма пользователя представлены -> JS добавляет чувствительные параметры -> вся информация отправляется 3 участника -> JS разбирает ответ, и т.д ...

Что вы должны стремиться к:

пользователя отправленной формы -> вся информация отправляется ВАША сервер -> сервер добавляет чувствительные параметры -> сервер кудри 3 участника -> сервер получает ответ -> сервер сообщ icates назад к пользователю

Мораль истории?

На стороне клиента Javascript НИКОГДА не должен использоваться для обеспечения безопасности и шифрования данных.

+0

Слушайте, что, все? Отбросьте концы вашего узла. Можете дважды проверить свою формулировку, особенно если вы собираетесь сделать все это ** смелым и важным звучанием **. – Oka

+0

@ Oka Я вижу, ну, вытащив его из контекста, это ваше решение, но, надеюсь, мой ответ сейчас сравним. – MonkeyZeus

+0

Улучшение, да. Ничего не вышло из контекста, так как вы описали полный стек в вашем примере - где исходный код может быть написан или не написан на JavaScript. – Oka

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