Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2013, 15:50
Новичок на форуме
Отправить личное сообщение для kladbische Посмотреть профиль Найти все сообщения от kladbische
 
Регистрация: 13.10.2013
Сообщений: 3

Защита setTimeout
Предположим есть какой нибудь живой чат и в нём:
setTimeout(function(){тут отправляем постом запрос на сервер},3000);

Т.е каждые 3 секунды идут запросики. Теперь юзер плохой, берёт и меняет у себя 3000 на 1, и как результат запросов туча.

Отсюда вопрос. Как исключить такую возможность?
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2013, 15:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

kladbische,
setTimeout прописывать в подгружаемом скрипте, скрипт обфусцировать
По идее, при малом колве пользователей период опроса выставляют по разности времени предыдущего и последующего сообщения(или текущего по гринвичу времени)
с ограничением верхнего и нижнего пределов(к примеру если последнее сообщение пару суток назад)
Напрмер tmax = 15 мин tmin =12cек

Последний раз редактировалось Deff, 13.10.2013 в 16:02.
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2013, 16:18
Новичок на форуме
Отправить личное сообщение для kladbische Посмотреть профиль Найти все сообщения от kladbische
 
Регистрация: 13.10.2013
Сообщений: 3

Грубо говоря, если не задействовать что-то на сервере, а всё выполнять на клиенте, то риск в любом случае останется. Вопрос только как его свести к минимуму.
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2013, 16:25
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

kladbische,
Вы можете вообще скрипт вставить во фрейм чата
Без возможной правки юзером
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2013, 16:28
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Deff
setTimeout прописывать в подгружаемом скрипте, скрипт обфусцировать
Зачем?
Что мешает открыть консоль посмотреть куда идет запрос и сделать что-то вроде:

while (true) $.ajax({url: 'example.com'});


Сообщение от kladbische
Вопрос только как его свести к минимуму
От ситуации, что я описал выше спасет только буртфорс-защита вашего сервера (iptables, nginx и пр.).

Последний раз редактировалось monolithed, 13.10.2013 в 16:36.
Ответить с цитированием
  #6 (permalink)  
Старый 13.10.2013, 16:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

monolithed,
Да вродь про минимальные правки говорили
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2013, 16:51
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

kladbische, пишите в стиле "ниндзя", чтобы плохой юзер пытаясь изменить Ваш код, просто не смог его понять.

var userName = 'lav' + 'retnI';
var Length = 'maximum';
window[Length] = String();
var userPosts = 'test';
var viewProfile = function() {
      //Тут запросы каждые 3 сек.
      alert('Yo!');
}, userID = '_id6000';
userPosts = userPosts.substr(0,3).split(maximum);
userName = userName.split('').reverse().join(maximum);
this.window.window[userPosts.reverse().join(maximum)+userName](viewProfile, +userID.substr(3)/2);
Ответить с цитированием
  #8 (permalink)  
Старый 13.10.2013, 17:02
Новичок на форуме
Отправить личное сообщение для kladbische Посмотреть профиль Найти все сообщения от kladbische
 
Регистрация: 13.10.2013
Сообщений: 3

Цитата:
пишите в стиле "ниндзя"
Это пять!
Ответить с цитированием
  #9 (permalink)  
Старый 14.10.2013, 11:58
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

знаю немало людей, которые постоянно пишут в режиме ниндзя
сами того не подозревая..
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача контекста через setTimeout decadent jQuery 3 10.02.2011 19:01
setTimeout как он работает??? namo86 Общие вопросы Javascript 16 02.02.2011 09:01
setTimeout в браузере IE и Opera leha66 Javascript под браузер 2 13.12.2010 13:02
setTimeout setInterval и др. mycoding Общие вопросы Javascript 6 28.10.2010 17:26
setTimeout Воитель Общие вопросы Javascript 5 23.01.2009 10:36