2012-11-17 2 views
0

웹 사이트가 있고 데이터베이스와 기타 모든 연결이 폴더에 있습니다. 로그 인한 사용자를 방지하기 위해 제한된 페이지에 세션이 있지만 전체 URL을 입력하면이 파일에 도달 할 수 있습니다 (PHP가 아무 것도 표시하지 않더라도 좋은 것은 아님). 그리고 폴더 자체는 서버의 디렉토리처럼 보일 수 있습니다. 이는 매우 나쁩니다.직접 URL 액세스가 금지됩니다.

www.mysite.com/connectionfolder 

어떻게이 문제를 해결할 수 있습니까? 감사!

+0

어떤 서버를 사용하십니까? 아파치? –

+0

액세스를 제한하기 위해 .htaccess 파일을 살펴볼 수 있습니다 (Apache를 사용하는 경우). 뭔가 다른 것을 고려하고 데이터베이스와 임의의 include를 웹 루트 외부의 폴더로 옮길 수 있습니다. – MRR0GERS

+0

로그인 한 사용자의 경우에도 직접 액세스를 완전히 비활성화 하시겠습니까? –

답변

3

아파치 : 라인 Options Indexes 당신이 간단하게 수정할 수있는 것보다 .htaccess 파일을 기존에 이미있는 경우 루트 아래 .htaccess 파일

Options -Indexes

을 줄을 추가 Options -Indexes

이렇게하면 Apache에서 직접적인 디렉토리 액세스를 막을 수 있습니다.

+0

내가 그 파일을 사용할 수없는 그 시간에 그 파일을 다른 파일에 포함하는 동안 나는 ajax_user.php 파일을 가지고 있고 아약스에서는이 파일에 액세스 할 수 없다는 것을 의미한다. (.htaccess) – Chaudhary

1
<?php header("Status: 404 Not Found"); ?> 

이있는 페이지는 당신이 할 수있는 예를 들어

를 찾을 수없는 말 페이지 404 페이지 오류를 줄 넣으십시오.

if(!$user_loggedin) { 
header("Status: 404 Not Found"); 
} else { 

echo "welcome to your page ...."; 


} 

위의 코드는 페이지 번호를 생성합니다 사용자가에 loged되지 않은 경우 T는 오류를 발견했습니다. 당신은 또한 "보안"페이지에서 멀리 사용자를 리디렉션 할 수있는 페이지를 thik 것이다 오류를 seeying 사람이 모든

2

에 존재하지 않는, 어떤 의미

<?php 
//...Valid user check 
if(!$validuser) 
{ 
    header("Location: /"); 
    exit; 
} 
관련 문제