
처음으로 대규모 PHP 애플리케이션(설정 포함)을 작성 중이며 권한을 위해 취해야 할 보안 예방 조치가 궁금합니다.
setup.php는 fopen/fwrite를 사용하여 setup.php에서 가져온 POST 데이터를 기반으로 config.php를 생성합니다. 이것은 작동하지만 권한을 777
.
Config.php는 기본적으로 PHP 변수에 데이터베이스 자격 증명을 포함합니다(include()'됨). 이것을 그대로 두는 것이 좋습니까 777
?
괜찮은지 아니면 사용자에게 권한을 다시 655와 같은 것으로 변경하도록 지시해야 하는지 궁금합니다(잘 모르겠습니다).
답변1
현재 작업을 수행하는 데 필요한 파일 권한을 설정해야 합니다. 설치 시 777, 애플리케이션 실행 시 644가 될 수 있습니다.
애플리케이션이 실행될 때마다 권한(중요 파일 및 경로에 대한)이 원하는 것인지 확인한 다음 오류 메시지를 발행하고 그렇지 않은 경우 애플리케이션 실행을 중지해야 합니다.
답변2
많은 PHP 애플리케이션에서는 제품이 설치되는 동안 config.php를 777로 설정해야 합니다. 나는 이것이 완벽하게 수용 가능하다고 생각하지만 설정이 완료되면 파일을 644로 다시 설정해야 한다는 점을 사용자에게 경고해야 합니다.
또 다른 해결책은 사용자가 데이터베이스 설정으로 config.php를 하드 코딩하도록 만드는 것입니다. 그러나 일부 신규 사용자에게는 상황이 복잡해집니다.