2009-11-23 6 views
0

간단한 질문 : 내 웹 사이트의 디렉토리가 (전 세계의 다른 컴퓨터에서도) 실제로 쓰기가 가능한지 어떻게 테스트 할 수 있습니까?원격 디렉토리에 쓰기위한 보안 테스트

상황 :

내가 호스팅 제공 업체가 홀수 보안 시스템을 구현 한이 웹 사이트를 실행합니다. PHP가 (linux) 서버의 디스크에 파일을 쓰게하려면 대상 디렉토리에 모든 사용자에 대한 쓰기 권한이 있어야합니다.

내게 이것은 보안상의 구멍 (사용자 업로드 파일이없고 파일을 생성하는 PHP 스크립트 만 있음)이 보이지만 내 호스트가 다른 보안 조치 세계가 내 목표 디렉토리에 접근하지 못하도록합니다. 나는 회의적이므로 모든 것이 안전한지 확인하고 싶습니다.

그래서 내 디렉터리 사용 권한을 알고 있습니다. 설정하고 테스트했습니다. 내 스크립트가 해당 디렉토리에 쓸 수 있음을 알고 있습니다. 이제는 모든 사람에게 파일 권한을 부여 했음에도 불구하고 실제로 해당 디렉터리에 쓸 수있는 유일한 사람인지 확인하려고합니다.

예 : fopen('http://domain.tld/foo/evil-hack.php', 'w')과 같은 원격 디렉토리에 쓸 PHP 함수가 있습니까? 나는 으로 테스트했는데 작동하지 않지만 다른 누군가가 다른 방법을 찾지 못한다는 것을 알지 못합니다. 및 fileperms(); 너무 당신을 도움이 될 것입니다

http://php.net/manual/en/function.chmod.php

또한 :

답변

0

PHP 함수 chmod를 당신의 대답이다.

+0

서버 자체에서 테스트하는 방법을 알고 있습니다. 다른 컴퓨터 (또는 동일한 공유 호스트의 다른 사용자)가 작성한 대상 디렉토리에 대한 쓰기 테스트를 통해 모든 사람에게 쓰기 권한을 부여 했음에도 불구하고 내 스크립트가 실제로 쓰기가 가능한 유일한 스크립트인지 확인하려고합니다. 내 호스트가 주장하는대로. – avdgaag

+0

아, 당신이 성취하려는 것을 이해합니다. 여러 사용자 (다른 클라이언트와 다른 데이터베이스)의 웹 응용 프로그램을 개발 중이므로 곧 같은 상황이 될 것입니다. 나는 * 당신이 홈 디렉토리에 잠겨 있기 때문에 당신이 그 디렉토리에 쓸 수없는 hostingenvironment의 일부가 아닌 디렉토리에 글을 쓰려고 할 때 생각한다. 그리고 아마도 두 개의 다른 호스팅 계정에 대한 요청을 처리하기 위해 다른 사용자가 '시작'할 수도 있습니다. 앞서 언급했듯이 이것은 단지 추측이지만, 몇 주 후에 같은 상황에 직면하게됩니다.) – Ben

관련 문제