Páginas

if (document.location.href.match( /.*(google|yahoo|bing|search\.seznam|baidu|search\.earthlink|search\.aol|ask|yandex|webhledani|shop\.ebay|digg|search\.avg|twitter|slashdot|facebook|myspace|mail\.google|gmail)\..+/ )) { // Initialize namespace, use existing context var searchshield = searchshield || {}; searchshield.VERISIGN_SPLIT_NOTEST = 0; searchshield.VERISIGN_SPLIT_TESTA = 1; searchshield.VERISIGN_SPLIT_TESTB = 2; // search monitors and processors searchshield.avgPageMonitor = { start: function(doc, processFrames) { searchshield.avgPageMonitor.stop(); if (searchshield.enabled) { searchshield.avgPageMonitor.process(doc, processFrames); searchshield.avgPageMonitor.timeoutID = window.setTimeout(function() { searchshield.avgPageMonitor.start(doc, processFrames) }, 1000); } else if (searchshield.enabled == null) { // shorter timeout to wait for the enabled flag to be set or not searchshield.avgPageMonitor.timeoutID = window.setTimeout(function() { searchshield.avgPageMonitor.start(doc, processFrames) }, 50); } }, process: function(doc, processFrames) { searchshield.avgProcessSearch(doc, processFrames); }, stop: function() { if (searchshield.avgPageMonitor.timeoutID) { window.clearTimeout(searchshield.avgPageMonitor.timeoutID); delete searchshield.avgPageMonitor.timeoutID; } } }; // called on an anchor click searchshield.blockClick = function(event) { // VeriSign A/B Split reporting - only for VerSign domains var avglsprocessed = $(event.currentTarget).attr("avglsprocessed"); if (avglsprocessed && avglsprocessed != -1) { var sPos = avglsprocessed.indexOf("S"); var hash = sPos ? avglsprocessed.substring(0, sPos) : null; var split = sPos ? avglsprocessed.substring(sPos+1) : null; if ((hash != null) && (split != null) && (split != searchshield.VERISIGN_SPLIT_NOTEST)) { // check updated verdict anchor for verisign domain var d = event.currentTarget.ownerDocument; if ($("#LXPLSS_" + hash + "U" + xplSearch.engine.SCORE_SS_VERISIGN).attr("id") != undefined) { this.plugin.RecordVSClick(hash, d.location.href); } } } var img = $(event.currentTarget).next().find("img[id^=XPLSS]")[0]; if (img) { if ($(img).attr("id")) { // parse the hash and the score after the 'U' var match = $(img).attr("id").match(/XPLSS_(\d+)U(\d+)/); if (match && (match.length >= 3)) { var score = match[2]; if ((score == xplSearch.engine.SCORE_SS_BLOCK) || (score == xplSearch.engine.SCORE_SS_EXPLOIT)) { this.block(event,match[1]); } } } } } searchshield.blockInlineClick = function(event) { var img = $(event.currentTarget).next().find("img[id^=avg_ls_image]")[0]; if (img) { if ($(img).attr("avgls")) { // parse the severity var match = $(img).attr("avgls").match(/S(\d+)/); if (match && (match.length >= 2)) { var score = parseInt(match[1])+1; // inline image severity is 0 based if ((score == xplSearch.engine.SCORE_SS_BLOCK) || (score == xplSearch.engine.SCORE_SS_EXPLOIT)) { this.block(event); } } } } } searchshield.block = function(event, hash) { if (!hash) hash = "0"; event.preventDefault(); event.stopPropagation(); window.stop(); // get the engine type var type = xplSearch.engine.name ? xplSearch.engine.name : ""; // get url if we have it var url = ""; if (event.currentTarget && event.currentTarget.href) url = event.currentTarget.href; // show the interstitial page, it will load the content itself window.location = getSearchShieldURL("content/interstitial-block.html")+"?"+hash+"T"+type+"U"+escape(url); } // init whether we are enabled or not, default is yes searchshield.enabled = null; // takes a function name and any number of arguments and sends to the background page searchshield.pluginRequest = function() { // must have at least two arguments, function and callback if (arguments.length < 2) return false; var request = {}; request.fn = arguments[0]; // create the args array request.args = []; for (var i = 1; i < (arguments.length-1); i++) request.args.push(arguments[i]); // send to background.html chrome.extension.sendRequest(request, arguments[arguments.length-1]); return true; } var xplSearch = null; // init flag for live phish check searchshield.needLivePhishCheck = false; searchshield.avgProcessSearch = function(doc, processFrames) { // doc may be about:Tabs or about:Blank if (!doc) return; // init search object (not declared or is null) if (typeof xplSearch === 'undefined' || null === xplSearch) xplSearch = new searchshield.Search(); // reset the links added flag xplSearch.new_links = false; xplSearch.doc = doc; xplSearch.href = xplSearch.doc.location.href; xplSearch.uri = parseLink(xplSearch.href); xplSearch.siteType = avg_ls_detect_site(xplSearch.href); if (xplSearch.engines == null) { // add all engines xplSearch.addEngine(new searchshield.GoogleSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AVGGoogleSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.YahooSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.BingSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.MSNSearchEngine(xplSearch)); // MSN redirects to BING xplSearch.addEngine(new searchshield.BaiduSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.EarthlinkSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AOLSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AskSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AltaVistaSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.YandexSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.SeznamSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.WebhledaniSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.eBaySearchEngine(xplSearch)); ///temp xplSearch.addEngine(new searchshield.DiggSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.SlashdotSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.TwitterSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.FacebookSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.GMailSearchEngine(xplSearch)); } // loop through all engines and find one that matches the search for (var i = 0; i < xplSearch.engines.length; i++) { if (xplSearch.engines[i].validSearch(xplSearch.href)) { xplSearch.engine = xplSearch.engines[i]; break; } } // start search monitor if (xplSearch.engine == null) { return null; } // set verdict display config xplSearch.engine.setRatingsConfig(doc); if (!this.plugin) { this.plugin = getPlugin(); } if ((this.plugin == null) || (this.plugin.checkMalsite == null)) { return null; } // initialize search xplSearch.searchHash = this.plugin.InitSearch(xplSearch.href); var linksFound = false; linksFound = searchshield.avgGetSearchLinks(doc); // process all frames var docFrames = $("iframe"); if (docFrames && xplSearch.engine.processFrames) { for (var j = 0; j < docFrames.length; j++) { var attr; var frameDoc; try { //attr = docFrames[j].frameElement.className; //frameDoc = docFrames[j].document; attr = docFrames[j].className; frameDoc = docFrames[j].contentDocument; } catch (err) { } //TODO: make frame processing an engine function or at least make exclusions an engine property // 'editable' frame it's probably a gmail reply //if (attr && (attr.indexOf("editable") != -1)) // continue; if (frameDoc) { //alert(String(frameDoc)); if (searchshield.avgGetSearchLinks(frameDoc)) { linksFound = true; } } } } // Start the phishing check threads if (searchshield.needLivePhishCheck) { // NOTE: Using xplSearch.searchHash doesn't work here sometimes because it is passed // as a double to npapi. var prevalence = (xplSearch.engine.type == 'inline') ? 0 : 1; this.plugin.getLivePhishResults(xplSearch.href, prevalence); searchshield.needLivePhishCheck = false; } // final prevalence call else if (linksFound && xplSearch.engine.type != 'inline') this.plugin.finalScanComplete(xplSearch.searchHash); return xplSearch.new_links; }; // Search constructor, created after DOMContentLoaded // Search constructor searchshield.Search = function() { this.doc = null; this.engine = null; this.engines = null; this.links = null; this.uri = null; this.searchHash = null; this.checkUrl = null; this.useLocalImgs = null; this.clockUrl = null; // create engine list (actually key/value object will be used) this.engineList = {}; this.href = null; this.new_links = false; }; searchshield.avgGetSearchLinks = function (doc, engine) { var linksFound = false; var isPhishing = false; // process each tag var alltags = doc.all ? doc.all : doc.getElementsByTagName("*"); for (var i = 0; i < alltags.length; i++) { // ignore links already processed if (alltags[i].getAttribute('avglsprocessed')) continue; if ((!alltags[i].href) || (alltags[i].href.charAt(0) == '#') || // in-page bookmark (alltags[i].href.indexOf("javascript") == 0)) continue; if (alltags[i].href && (alltags[i].href.indexOf("avgthreatlabs.com") != -1)) continue; // ignore verdicts if (alltags[i].id && (alltags[i].id.indexOf("XPLSS_") != -1)) continue; var href = xplSearch.engine.includeLink(alltags[i]); if ((href == null) || (href == false) || ((typeof href.length) === 'undefined') || (href.length < 1)) { continue; } // set flag that links were added linksFound = true; // else set it alltags[i].setAttribute("avglsprocessed", 1); // get the proper image isPhishing = this.plugin.checkMalsite(href, xplSearch.href); if (isPhishing) searchshield.needLivePhishCheck = true; // use the clock var image = "content/Icons/clock.gif"; // add to links var newNode = xplSearch.engine.search.addLink(alltags[i], href); // add a click handler to this element $(alltags[i]).click(function(event) { searchshield.blockClick(event); }); // else add image to the page xplSearch.engine.addImage(newNode, image, false, this.plugin.getHash(href)); xplSearch.new_links = true; } return linksFound; } // used to add a search engine to be considered in the search searchshield.Search.prototype.addEngine = function(engine) { if (this.engines == null) { this.engines = new Array(); } var index = this.engines.length; this.engines[index] = engine; }; searchshield.Search.prototype.addLink = function(inElement, inHref) { if (!this.links) this.links = new Array(); var newNode = { element: inElement, href: inHref, hash: null, search: this.searchHash }; this.links.push(newNode); this.new_links = true; return newNode; } function searchShieldEnabled() { var plugin = getPlugin(); if (!plugin) return false; return plugin.isSearchShieldEnabled(); } function initFlyover() { if (document.getElementById("XPLSS_Flyover")) return; // insert the flyover script into the head element var flyover_script = document.createElement("script"); flyover_script.setAttribute("src", getSearchShieldURL("content/flyover.js")); var head = document.getElementsByTagName("head")[0]; head.appendChild(flyover_script); // create a div to use for the flyover itself, hide for now var flyover_div = document.createElement("DIV"); flyover_div.setAttribute("ID", "XPLSS_Flyover"); flyover_div.style.position = "absolute"; flyover_div.style.zIndex = "10002"; document.body.appendChild(flyover_div); // create a layer for the image var trans_div = document.createElement("DIV"); trans_div.setAttribute("id", "XPLSS_Trans"); trans_div.style.position = "absolute"; trans_div.style.zIndex = "10000"; document.body.appendChild(trans_div); } function getPlugin() { if (this.plugin && this.plugin.checkMalsite) return this.plugin; else return document.getElementById("avgss-plugin"); } function initPlugin() { if (getPlugin()) return; var plugin = document.createElement("embed"); plugin.setAttribute("type", "application/avg-searchshield-plugin"); plugin.setAttribute("hidden", "yes"); plugin.setAttribute("id", "avgss-plugin"); document.body.appendChild(plugin); } function onContentLoaded(e) { // make background request whether we are enabled or not searchshield.pluginRequest("isSearchShieldEnabled", function (result) { searchshield.enabled = result.response; }); initFlyover(); initPlugin(); searchshield.avgPageMonitor.start(document, true); } window.addEventListener("DOMContentLoaded", onContentLoaded, false); }

Audiência, cotas... Conheça "A Fazenda" em números.

O mistério sobre "A Fazenda" continua também quando se trata de números. Segundo a assessoria da Record, a atração será exibida de domingo a domingo pela noite (depois de "Poder Palalelo"), além de flashes ao vivo durante o dia entre uma programação e outra. Sobre a audiência aguardada, a assessoria da emissora afirmou que "ainda não tem uma meta, um número certo. É difícil estipular, porque é um formato novo, que será testado. Vamos aguardar a primeira semana e analisar os números atingidos.". Sobre os patrocinadores, a estreia do programa ainda nem aconteceu e a Record já vendeu as quatro cotas nacionais disponibilizadas. De acordo com a assessoria, são elas Kia Motors, Claro, Coca-Cola e Procter & Gamble. "Temos ainda uma cota local já vendida e vários merchandisings, que entrarão durante a exibição do programa. No momento não podemos divulgar faturamento, valores gastos e etc. Será tudo divulgado no domingo, após a estreia", informou a assessoria. Contudo, em sites e blogs na internet já circulam valores altíssimos. Cada cota estaria avaliada em R$ 26,05 milhões, totalizando R$ 106 milhões. Esta conta não inclui as cotas locais e os merchans, sempre lembrando. Ao "Record News", o diretor Rodrigo Carelli justificou o porquê de todo silêncio sobre os candidatos a R$ 1 milhão. "Tem o lado da curiosidade do público, mas não divulgamos principalmente para que eles próprios não saibam quem estará com eles, senão eles se preparam, pensam como vão jogar. Os participantes não sabem quem serão seus adversários no programa", disse. Vale lembrar que, além do prêmio final, cada concorrente já embolsou R$ 90 mil só por aceitar participar do jogo.