2011-01-11 5 views
0

웹 사이트 결제에 대한 처리 파일이 있습니다. 그것은 잘 작동하지만, 내가하고 싶은 것은이 페이지에 모든 요청을 기록하여 오류가 발생하면 원시 데이터가 저장되고 트랜잭션을 수동으로 처리 할 수 ​​있도록하는 것입니다. 처리 파일은 fopen을 사용하여 다른 디렉토리의 로그 파일에 씁니다.올바른 사용 권한이있는 사용자 지정 로그 파일

는 그런 권한을 755 권한 777이 중요한 경우 PHP에서 로그 파일에 기록 처리 파일을 내부 로그 파일 내 루트 디렉토리에 별도의 폴더는 777로 설정되어 내가 지금있는 것은

지금은 작동하지만 로그 파일은 공개되어 있습니다. 내가 더 잘할 수 있고 사용 권한이 올바르지 않다는 것을 안다. 어떻게하면 더 잘 할 수 있을까요?

답변

1

로그 파일을 문서 루트 외부에 두십시오. 그것을 쓰는 PHP 스크립트는 (전체 경로를 통해) 접근 할 수는 있지만 아파치는 그것을 제공 할 수 없다.

+0

권한에 대한 답변이 아닙니다. – vladkras

0

나 자신을 위해 대답을 검색하는 동안이 문제가 발생했습니다. 나는 당신이 원하는 것을 할 수있는 간단한 "사용 권한 수정"이 있다고 믿지 않으며 아마도 가장 안전한 방법은 로그 파일을 public_html 디렉토리 외부에 두는 것입니다.

그러나 때때로 이것은 귀찮을 수 있습니다. 특히 예를 들어 paypal ipn을 잡아 텍스트를 로그 파일에 덤프하지만 공개적으로 액세스 할 수는 없습니다.

그런 경우 .htaccess 파일 지정 문을 사용하여 스크립트에서 쓰기를 허용 할 수 있지만 공용 액세스에서 읽는 것을 거부 할 수 있습니다.

예를 들어,이 작품은 나를 위해 (루트 .htaccess 루트 public_html 폴더);

<FilesMatch "mycustom\.log"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

보호하려는 로그가 여러 개인 경우 "파이프 분리됨"과 같이 사용하십시오.

<FilesMatch "mycustom\.log|ipn_errors\.log"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

그것은 위의 지시어는 아파치 2.4으로 사용되지 않으며 대신 더 많은 전류 지시를 사용하는 것을 고려 할 수 있음을 주목할 필요가있다 : https://httpd.apache.org/docs/2.4/howto/access.html

희망을 당신이하는 데 도움이!

관련 문제