2012-11-30 20 views
0

我有一個受保護的頁面和它的代碼;android webview可以看到我的受保護頁面

<?php 
if (session_id() == "") 
{ 
session_start(); 
} 
if (!isset($_SESSION['username'])) 
{ 
header('Location: ./index.php'); 
    exit; 
} 
else 
{ 
    //something after user entered 
} 
?> 

我的android webview可以在用戶進入系統之前看到這個頁面。這是爲什麼?我該如何解決它?謝謝。

+0

這沒有任何意義。頁面顯示的內容是什麼?客戶端應該沒有會話。 – Halcyon

+0

在測試之前,您是否正在清除包含您的Cookie的緩存?我認爲你的瀏覽器中有一個持續的活動會話。 –

+0

@FritsvanCampen結果:我可以在我的android手機上看到我受保護的頁面內容。所以php頁面不適用於android webview,對不對? – Ozan

回答

0

你或許應該使用

webView.clearCache(true); 

清除緩存。 還有其他有用的東西,如 clearHistory(); clearFormData(); 等

之類的東西:

WebSettings webSettings = webView.getSettings(); 
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); 

更多信息: http://developer.android.com/reference/android/webkit/WebView.html

哦,如其他人所說的,PHP是服務器端,所以如果你想不會在本地使用它們的應用程序它順利。

+0

謝謝我現在正在嘗試。 – Ozan

+0

我懷疑標題命令是造成問題,當你把die()而不是標題它是否工作? – vodich

+0

@vodich使用die()會終止腳本,這也是exit()所做的。 header()不會導致問題,因爲它所做的只是設置一個HTTP頭來重定向,除非它設置了一個不是的cookie,否則不會影響會話。上面的代碼 –

相關問題