2013-04-06 6 views
2

안녕하세요 모두 알려주세요. Ive는 해결책을 찾기 위해 높고 낮은 것을 찾았지만 나를 피하는 것 같습니다.브라우저에서 공용 PHP에 대한 액세스를 거부하지만 애플리케이션 사용을 허용하십시오.

저는 최근에 내 호스트의 공용 HTML 폴더에 모든 읽기 스크립트가 들어있는 PHP 파일을 설정했습니다. db_config 및 db_connect와 더 민감한 파일은 행복하게 숨겨져 있으므로 직접 액세스 할 수 없습니다.

평범한 Joe가 브라우저에서 내 모든 스크립트를 읽을 수 없게하거나, 분명히 그런 데이터베이스를 수집하는 데 걸리는 시간을 감당할 필요가 없거나 다소 느리게 할 필요가 있습니다. 그것을 너무 쉽게 무료로 가져라.

PHP는은 모바일 응용 프로그램을 실행하기 위해 이렇게 불행하게도 액세스 할 수 있어야합니다 (당신이 그렇지 않으면 알지?하지 않는 한)

당신이 올바른 방향으로 날 지점시겠습니까 공공 디렉토리에 머물있다?

헤더 리디렉션 만 사용할 수있는 옵션 인 것 같습니다. 나는 어느 정도 스크립팅에 대해 혼란스러워한다. ID로만큼

누군가가 그냥 스스로 학습하지에 재미 알의 나에게 스크립트를 제공하기 위해 :)

읽고 응답 시간을내어 주셔서 감사합니다 사랑 해요.

답변

0

나는이 대답 chmod를 무시합니다 :

이 최선의 해결책이 아니다, 그러나하기 쉬운 파일을 보호하는 유지 보수 방법은 HTACCESS를 사용하여 공용 액세스를 차단하는 것입니다 (가능한 경우). 다른 답변 중 하나와 같은 플래그를 사용하는 것도 좋으며이 작업을 수행하는 합법적 인 방법이기는하지만 HTACCESS는 스크립트가 처음 실행되는 것을 허용하지 않습니다.

<files myfile.php> 
order allow,deny 
deny from all 
</files> 

편집 : 그냥 당신이 JSON 그래서이 경우에는 (내가 JSON에 익숙하지 않은,하지만 나는 그것이 작동합니다 생각하지 않습니다) 위의 무시 언급 한 것을 보았다.

이 솔루션은 하나 완벽하지 않습니다,하지만 약간의 도움이 될 수 : PHP check whether Incoming Request is JSON type

당신은 들어오는 요청 JSON에서 경우 감지하고, 그렇지 않은 경우는 다음 무시할 수 있습니다.

+0

입니다. 어떤 경우에는 Json 요청을 제외하고 모두 거부 할 수 있습니까? – mynight

+0

아, JSON이 관련되었다는 것을 깨닫지 못했습니다. 나는 HTACCESS가이 경우에 작동 할 것이라고 생각하지 않습니다.나는 나의 대답을 약간 수정했다. JSON 팁을 확인하십시오. – Mike

+0

죄송합니다. 원래 질문에서 JSON을 언급하지 못했지만 사과합니다. – mynight

-1

제가 알고 있듯이 앱에서 사용해야하지만 웹상의 사람은 아닙니다. 맞습니까? 당신은 몇 가지 일을 할 수 있습니다.

먼저 앱에서 &verified=1과 같은 검색어 문자열을 사용하여 페이지를 요청할 수 있으며 $ _GET 변수가 전달되지 않으면 스크립트가 작동하지 않습니다. 마찬가지로

if(isset($_GET['verified'])){ 
//show code 
} 
else 
{ 
//not today average joe 
} 

는 또한 "sjdvjhb_kdfjgvkedn"와 같은 비밀 디렉토리에 넣을 수

+0

실제로 올바른 것입니다. 그건 완벽하게 이해가됩니다. 따라서 앱이 확인을 보내지 않으면 스크립트가 실행되지 않습니다. 비밀 디렉토리를 생성하면 앱 안에서 의미합니까? – mynight

+0

모든 코드가있는 서버의 비밀 디렉토리. 흥미로운 첫 번째 해결책은 –

관련 문제