2011-04-01 53 views
0

如果我在我的Android 應用編碼標準URL調用用戶可以看到從Android應用程序調用的URL嗎?

   HttpClient httpClient = new DefaultHttpClient(); 
       HttpContext localContext = new BasicHttpContext(); 

       String url = "http://www.google.com"; 

       HttpGet httpGet = new HttpGet(url); 
       HttpResponse response = null; 
       String result = ""; 
       try { 
        response = httpClient.execute(httpGet, localContext); 
        BufferedReader reader = null; 

        reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
        String line = null; 

        while ((line = reader.readLine()) != null){ 
         result += line; 
        } 
       } catch (IllegalStateException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

我的問題是 - 可以在用戶看到這裏稱爲URL(在這個例子中:www.google.com)在某種日誌或什麼的?我認爲擁有固定電話的用戶可以看到這些信息?

有沒有辦法讓隱藏它/加密呢?

編輯:或者,如果用戶從手機(我的應用程序)來到我的網站/ URL,有沒有辦法檢查(PHP也許?)?

回答

1

即使使用無根電話,用戶也可以在其網關上運行數據包嗅探器,以查看它們連接的位置。

要「隱藏」URL,您可以通過自己的服務器代理其數據,並嚮應用程序提供該服務器的URL。

編輯: Re。你的編輯,你可以檢查瀏覽器的user agent,但沒有萬無一失的方式來確定用戶正在從你的應用程序連接(它歸結爲一個DRM問題)。

+0

我需要發送一些數據,所以SSL + POST數據是唯一的方法?當然,在另一側(.php一側)如果POST認證密鑰不匹配 - 拒絕一切。所以如果用戶知道URL,他就不能使用它。 – svenkapudija 2011-04-01 10:57:55

+0

沒有什麼能夠阻止足夠積極的攻擊者從提取密鑰和訪問URL僞裝成您的應用程序。 – jnic 2011-04-01 11:15:23

+0

那麼... ProGuard + SSL(POST)應該夠用了嗎?有沒有比這個組合更強大的東西? – svenkapudija 2011-04-01 11:33:33

相關問題