Защита setTimeout
Предположим есть какой нибудь живой чат и в нём:
setTimeout(function(){тут отправляем постом запрос на сервер},3000); Т.е каждые 3 секунды идут запросики. Теперь юзер плохой, берёт и меняет у себя 3000 на 1, и как результат запросов туча. Отсюда вопрос. Как исключить такую возможность? |
kladbische,
setTimeout прописывать в подгружаемом скрипте, скрипт обфусцировать По идее, при малом колве пользователей период опроса выставляют по разности времени предыдущего и последующего сообщения(или текущего по гринвичу времени) с ограничением верхнего и нижнего пределов(к примеру если последнее сообщение пару суток назад) Напрмер tmax = 15 мин tmin =12cек |
Грубо говоря, если не задействовать что-то на сервере, а всё выполнять на клиенте, то риск в любом случае останется. Вопрос только как его свести к минимуму.
|
kladbische,
Вы можете вообще скрипт вставить во фрейм чата Без возможной правки юзером |
Цитата:
Что мешает открыть консоль посмотреть куда идет запрос и сделать что-то вроде: while (true) $.ajax({url: 'example.com'}); Цитата:
|
monolithed,
Да вродь про минимальные правки говорили |
kladbische, пишите в стиле "ниндзя", чтобы плохой юзер пытаясь изменить Ваш код, просто не смог его понять. :D
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); |
Цитата:
|
знаю немало людей, которые постоянно пишут в режиме ниндзя :-?
сами того не подозревая.. |
Часовой пояс GMT +3, время: 11:54. |