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); }

O Rei gravou participação no Caldeirão do Huck!

Um clima de emoção tomou conta das gravações do Caldeirão do Huck, da Globo, que aconteceram no Projac (Rio), na tarde desta terça-feira (23). Após um atraso de quase 4h, Roberto Carlos subiu ao palco e foi ovacionado pelo público presente. Com os olhos marejados, Luciano Huck falou da alegria em receber seu ídolo, pela primeira vez, no palco do Caldeirão. “Hoje, eu estou realizando um sonho: profissional e pessoal. Até o meu sogro e a minha sogra fizeram questão de virem aqui prestigiar o Rei”, disse Luciano, orgulhoso. Roberto – que interpretou os sucessos Como é Grande o Meu mor por Você, Detalhes, Eu Te Amo e É Preciso Saber Viver – chamou a atenção de todos por usar a camisa aberta no peito e, claro, foi alvo das brincadeiras do apresentador. “Vocês viram os bíceps do Rei?”, comentou Luciano, arrancando gargalhadas de Roberto. A exibição do quadro Lata Velha, porém, deixou Roberto Carlos com os olhos marejados. Ele não controlou a emoção ao conhecer a história de Nício Maia Fleury, um rapaz que Luciano Huck conheceu em uma rua próxima ao Projac, dentro de sua Kombi, completamente destruída. Para que o programa fizesse a reforma do veículo, ele teve que cantar, diante do Rei, a música O Calhambeque. “Foi muito bom estar aqui e receber essa homenagem, esse carinho imenso. Espero um dia voltar”, declarou o cantor. Após a gravação, apenas Luciano Huck conversou com a imprensa. Ele contou que toda a sua família é fã do artista, Inclusive o filho Joaquim. “Desde muito pequeno, ele escuta a Angélica cantar para ele Como é Grande o Meu Amor Por Você. E adora o Roberto. Comprei um DVD em espanhol e ele assiste sempre. Por isso, digo: foi o melhor presente que eu poderia receber no ano em que o Caldeirão completa 10 anos”, comemorou Huck, lembrando que a atração irá ao ar no dia 4 de julho.