Перейти к публикации
iCast

Защита данных при ajax запросе

Рекомендованные сообщения

iCast

Добрый день! Немного мучает вопрос о защите данных, когда их посылаем серверу с помощью ajax.
Приведу небольшой пример. Есть клиентская часть, где пользователь нажав на кнопочку, получает свои данные из vk.

$.get(
  "https://api.vk.com/method/users.get",
  {
    user_ids: "1",
    access_token: "<?php echo $access_token;?>"
  },
  onAjaxSuccess,
  "jsonp"

);
 
function onAjaxSuccess(data)
{
  alert(data.response[0].uid+" "+data.response[0].first_name+" "+data.response[0].last_name );
}
     
     </script>

Все. Как бы получили id, имя и фамилию. Теперь нужно отправить это все в БД, именно с помощью ajax.
 

$.ajax({
        type: 'POST',
        url: '/save.php,
        response:'text',
        data:{'uid': uid,'first_name':first_name,'last_name':last_name},
          success:function (data) {
           alert("ok");
}

Здесь то и возникает вопрос о реализации безопасности при передачи данных на сервер. Нужно чтобы клиент никак не мог подменить свои данные. 
Что известно заранее: его id на моем сайте.(сессия на моем сайте, но нужно добавить его профиль vk)
Если кому то поможет, то движок WP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

В первом коде видно, что твоему скрипту известен token. Так зачем делать запрос на стороне клиента, если можно сразу обратиться к API контакта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
iCast

 

В первом коде видно, что твоему скрипту известен token

суть сейчас не в этом немного. это просто вырезка из кода. переменная token объявлена выше..(она там по сути не нужна - это открытый метод). 

 

Так зачем делать запрос на стороне клиента, если можно сразу обратиться к API контакта?

Возможно я немного неправильно сформулировал вопрос. Тут вот в чем смысл. Мне важно узнать как защитить сервер от посторонних данных, чтобы клиент не мог "подсунуть" в мою БД левые данные, чтобы только данные приходили от скрипта и т.д.
Код с добавленем профиля это пример.
(по сути все что ты написал все верно, но не мой путь)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

Сам скрипт должен получать данные от VK и сразу заносить их в базу. Делать это через клиента - глупо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
iCast

 

Сам скрипт должен получать данные от VK и сразу заносить их в базу

скрипт не только получает данные пользователей, но и делает многое другое за пользователей с помощью api. Если даже 100 пользователей одновременно будут работать, то запросы с сервера через какое-то время перестанут выполняться по причине того что vk ограничивает количество запросов в секунду. Нужно чтоб скрипт работал на клиенте (в браузере), а результаты, уже без использования vk api записывались в бд. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...