Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2013, 14:02
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

Родмена значений
Ошибся Подмена значении

Добрый день друзья.

<td target="look" onclick="А('/files/1/cloud/style')">текст</td>

При клике запускаю функцию А с аякс где переданный параметр в зависимости от условия разбивается или передается целиком на сервер.

Передаваемый параметр не статичен и может принимать разные формы.

Проблема.
Я нехороший пользователь, через firebug ищу эту A и меняю допустим в параметре cloud на cloud1 или cloud_t.
И получается на сервер выполняется не то что нужно, что есть потенциальная ошибка.

Проверить принимаемые данные посчитал не целесообразным т.к cloud1 и cloud_t и другие вариации допустимы

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

Заранее спасибо

Последний раз редактировалось zzzzzz, 14.08.2013 в 14:08.
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2013, 14:11
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

1. Проверять на сервере
2. Обфусцировать скрипты
Больше насколько я знаю никак =(
И вообще достаточно хитрожопый пользователь на любом клиенте проверку обойдет, такая вот особенность клиент-серверной идеологии
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2013, 14:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от zzzzzz
Поэтому хотел бы спросить. Возможно ли скрыть или еще что-нибудь сделать, чтобы невозможно было подменить отправляемые данные
Невозможно by design. То что идет от клиента - идет от клиента. А клиент че хочет то и шлет. Вот как по твоему можно запретить чужому компьютеру что-то тебе (твоему серверу) слать?
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2013, 14:58
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

Можно было бы запретить яваскриптом если отправляемые значения можно было бы как-то проверить на соответствие. Но в моем случае делаю вывод что никак

Получается придется на сервере делать проверку из кучи if-else только для того чтобы проверить один переданный параметр. Ну как так

Последний раз редактировалось zzzzzz, 14.08.2013 в 15:12.
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2013, 15:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от zzzzzz
Получается придется на сервере делать проверку из кучи if-else только для того чтобы проверить один переданный параметр. Ну как так
Естественно. А все потому это единственный безопасный вариант.
Что такое JS? Это просто набор строк интерпретируемого кода. Твой сервер как бы говорит: Привет Клиент, вот тебе код, ты его исполни у себя, и верни результат. Но только не обмани меня, хорошо?

А клиент, как бы отвечает: Ок, Сервер, обещаю. (а в мыслях: ага, блядь, щас. Не на*бешь - не проживешь.) Вот тебе путь, который ты просил:
'/etc/passwd/'.

А сервер: О, спасибки. Это то, что я думаю? Путь к нужному в работе файлу? Ок, отображу его содержимое тебе..

Вот из-за такого доверия и "взламывают" сервера...
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2013, 15:25
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

как вариант кодировать то что передаеш, и проверять контрольную сумму или патерн, при несовпадении будеш знать что юзер что то свое вставил в поток
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2013, 15:34
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

Крот мне в ухо, danik.js это было познавательно ))
Всем спасибо, пойду над шифрованием подумаю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как c функцией .ajax() передать несколько значений в php? Faab jQuery 11 19.11.2013 12:03
Упорядочить заданный числовой массив X (M) в порядке убывания значений его элементов. Drimmer Серверные языки и технологии 0 02.07.2012 18:22
Округление значений в Chart wUI ExtJS 2 11.05.2012 05:56
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48