<%@ page import="java.io.BufferedReader, java.io.InputStreamReader, java.io.IOException, java.io.UnsupportedEncodingException, java.net.URL, java.net.URLEncoder, java.util.ArrayList, java.util.List" %> <%! private static final String PAGEAD = "http://pagead2.googlesyndication.com/pagead/ads?"; private void googleAppendUrl(StringBuilder url, String param, String value) throws UnsupportedEncodingException { if (value != null) { String encodedValue = URLEncoder.encode(value, "UTF-8"); url.append("&").append(param).append("=").append(encodedValue); } } private void googleAppendColor(StringBuilder url, String param, String value, long random) { String[] colorArray = value.split(","); url.append("&").append(param).append("=").append( colorArray[(int)(random % colorArray.length)]); } private void googleAppendScreenRes(StringBuilder url, String uaPixels, String xUpDevcapScreenpixels, String xJphoneDisplay) { String screenRes = uaPixels; if (screenRes == null) { screenRes = xUpDevcapScreenpixels; } if (screenRes == null) { screenRes = xJphoneDisplay; } if (screenRes != null) { String[] resArray = screenRes.split("[x,*]"); if (resArray.length == 2) { url.append("&u_w=").append(resArray[0]); url.append("&u_h=").append(resArray[1]); } } } private void googleAppendMuid(StringBuilder url, List muids) { for (String muid : muids) { if (muid != null) { url.append("&muid=").append(muid); } } } private void googleAppendViaAndAccept(StringBuilder url, String via, String accept) throws UnsupportedEncodingException { googleAppendUrl(url, "via", via); googleAppendUrl(url, "accept", accept); } %> <% long googleDt = System.currentTimeMillis(); StringBuilder googleAdUrlStr = new StringBuilder(PAGEAD); googleAdUrlStr.append("ad_type=text"); googleAdUrlStr.append("&channel=7488951822"); googleAdUrlStr.append("&client=ca-mb-pub-1074670688044282"); googleAdUrlStr.append("&dt=").append(googleDt); googleAdUrlStr.append("&format=mobile_single"); googleAppendUrl(googleAdUrlStr, "ip", request.getRemoteAddr()); googleAdUrlStr.append("&markup=xhtml"); googleAdUrlStr.append("&oe=utf8"); googleAdUrlStr.append("&output=xhtml"); googleAppendUrl(googleAdUrlStr, "ref", request.getHeader("Referer")); String googleUrl = request.getRequestURL().toString(); if (request.getQueryString() != null) { googleUrl += "?" + request.getQueryString().toString(); } googleAppendUrl(googleAdUrlStr, "url", googleUrl); String googleUserAgent = request.getHeader("User-Agent"); googleAppendUrl(googleAdUrlStr, "useragent", googleUserAgent); googleAppendScreenRes(googleAdUrlStr, request.getHeader("UA-pixels"), request.getHeader("x-up-devcap-screenpixels"), request.getHeader("x-jphone-display")); List googleMuids = new ArrayList(); googleMuids.add(request.getHeader("X-DCMGUID")); googleMuids.add(request.getHeader("X-UP-SUBNO")); googleMuids.add(request.getHeader("X-JPHONE_UID")); googleMuids.add(request.getHeader("X-EM-UID")); googleAppendMuid(googleAdUrlStr, googleMuids); if (googleUserAgent == null || googleUserAgent.length() == 0) { googleAppendViaAndAccept(googleAdUrlStr, request.getHeader("Via"), request.getHeader("Accept")); } try { URL googleAdUrl = new URL(googleAdUrlStr.toString()); BufferedReader reader = new BufferedReader( new InputStreamReader(googleAdUrl.openStream(), "UTF-8")); for (String line; (line = reader.readLine()) != null;) { out.println(line); } } catch (IOException e) {} %>

Rabu, 04 Mei 2011

WhisperMonitor: Firewall for cellular with Android

Post by: www.ciayoo.com.
Thank you for using rssforward.com! This service has been made possible by all our customers. In order to provide a sustainable, best of the breed RSS to Email experience, we've chosen to keep this as a paid subscription service. If you are satisfied with your free trial, please sign-up today. Subscriptions without a plan would soon be removed. Thank you!

Uma boa notícia para os usuários de celulares com o sistema operacional Android, Moxie Marlinspike lançou o primeiro firewall dinâmico para estes aparelho, que monitora todas as tentativas de conexão de saída por aplicativos instalados ou pelo sistema operacional, dando aos usuários uma idéia do que está acontecendo com seu telefone.

Se os usuários encontrarem um aplicativo que está acessando algo que não deveria, existe a opção de bloqueio de URLs ou números de porta de acesso, e ainda a possibilidade de definir regras de firewall para aplicativos e até mesmo fornecer um histórico de conexão para aplicativos do aparelho.

O WhisperMonitor também vem com WhisperCore, um aplicativo de criptografia para todo o conteúdo armazenado no Android, incluindo o cartão SD.

Para experimentar o aplicativo visite o site WhisperSystems. Vale a pena conferir!!

Via Ubergizmo.

 

04 May, 2011


--
Source: http://feedproxy.google.com/~r/rodrigostoledocom/~3/kc_GAvhCtsw/
~
Manage subscription | Powered by rssforward.com

Tidak ada komentar:

Posting Komentar