Защита 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, время: 22:13. |