2010-08-12 2 views
0

안전한 포함 파일에 대한 최선의 해결책을 알고 싶습니다.보안 포함 파일

define('KEY','security'); 
include('s.php'; 

s.php : 포함 파일이의 .htaccess를 넣어

if(KEY!='security') exit; 
+0

단지 내가'사용하십시오 편집증 환자이기 때문에 =='대신'=': 미디어 위키이에서를 사용하는 예를 들어

파일을 포함!. 일반적으로'==='와'! =='를 사용하는 것은 특별한 이유가 없기 때문에'==='와'! =='를 사용합니다. 왜냐하면 PHP 타입 변환 규칙을 사용하면 보통의'=='와 실수하기 쉽습니다. – CodesInChaos

답변

0
order deny,allow 
deny from all 
allow from 127.0.0.1 

가 될 것으로 보인다 인덱스 파일에

: 는 지금 내 솔루션이 있습니다 깔끔한 솔루션 ..

+0

나는 그것을 독점적으로 사용하지 않을 것입니다. 잘못된 웹 서버 (또는 다른 웹 서버로 전환 한 직후)가 .htaccess를 무시하는 상황이있었습니다. DEFINE 보안 요원과의 완벽한 방어가 좋습니다. – CodesInChaos

+0

일부 HTTP 데몬은이를 지원하지 않고 실제로 의존하는 것은 꽤 위험합니다. – Tower

0

가장 좋은 방법은 보호 된 파일을 문서 루트 (public _html, www, htdocs 등). 당신은 문서 루트의 외부 PHP 파일을 항상 포함 할 수 있습니다

/home/user/public_html/index.php : 비슷한 코드

<?php 

include('../include.php'); 
// /home/user/include.php -- not accessible! 
+0

불행히도 그것이 항상 가능하지는 않습니다. 특히 소프트웨어를 다른 사람에게 배포하는 경우 (설치가 너무 어렵게 됨) 또는 일부 공유 호스팅 시나리오에서 소프트웨어를 배포하는 경우. – CodesInChaos

1

대부분의 경우도 알려진 값을 확인하지 않습니다 키가 정의되어 있는지 확인하십시오.

<?php 
if(!defined('MEDIAWIKI')) { 
    die(1); 
} 
+0

Phpbb도 사용합니다. – Shoe