2012-11-30 2 views
0

나는 보호 된 페이지와 해당 코드가 있습니다.android webview에서 내 보호 된 페이지를 볼 수 있습니다.

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

사용자가 시스템에 들어가기 전에 내 안드로이드 webview에서이 페이지를 볼 수 있습니다. 왜 그렇게되는거야? 어떻게 해결할 수 있습니까? 고맙습니다.

+0

이것은 의미가 없습니다. 그러면 그 페이지는 무엇을 보여줍니까? 클라이언트는 세션이 없어야합니다. – Halcyon

+0

테스트하기 전에 쿠키를 포함하여 캐시를 비우고 있습니까? 나는 당신이 당신의 브라우저에 느린 활성 세션을 가지고 있다고 생각한다. –

+0

@FritsvanCampen 결과 : 내 안드로이드 폰에서 내 보호 된 페이지 콘텐츠를 볼 수 있습니다. 그래서 PHP 페이지 안드로이드 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

die()를 사용하는 @vodich는 exit()가 수행하는 스크립트를 죽일 것입니다. header()는 HTTP 헤더를 리다이렉트 (redirect)로 설정하는 것이므로 세션을 수행하지 않는 쿠키를 설정하지 않는 한 세션에 영향을 미치지 않으므로 문제가 발생하지 않습니다. 위 코드 –

관련 문제