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

Michael Jackson morre aos 50 anos nos EUA.

O cantor Michael Jackson, maior astro pop de todos os tempos, morreu nesta quinta-feira (25) aos 50 anos. Segundo o Instituto Médico Legal de Los Angeles, nos Estados Unidos, que confirmou a morte, Jackson sofreu uma parada cardíaca. A informação foi publicada em primeira mão pelo site de celebridades TMZ. Segundo o jornal “Los Angeles Times”, Jackson chegou ao hospital UCLA Medical Center, em Los Angeles, por volta das 16h, no horário de Brasília, e morreu às 17h07. Brian Oxman, um dos advogados da família Jackson, disse à CNN que foi informado por Randy Jackson, irmão do cantor, que Michael sofreu o colapso em casa. De acordo com informações agência de notícias Efe, o serviço de emergência de Los Angeles recebeu um telefone da casa do cantor, em Holmby Hills. Paramédicos afirmam que Jackson não respirava no momento do resgate, quando teria sofrido um ataque cardíaco. Segundo o site do jornal “Daily Mail”, paramédicos foram vistos realizando em Jackson uma manobra conhecida como ressuscitação cardiopulmonar (CPR), assim que o cantor chegou ao hospital. Segundo o “Los Angeles Times”, a família de Jackson está toda no local. Em frente ao hospital, centenas de pessoas –entre fãs e curiosos– fazem plantão, em busca de informações.