안전 모드 제한이 적용됩니다. uid가 소유한 디렉토리에 액세스하는 것이 허용되지 않는 스크립트

안전 모드 제한이 적용됩니다. uid가 소유한 디렉토리에 액세스하는 것이 허용되지 않는 스크립트

여러 웹사이트가 있는 전용 서버를 운영하고 있습니다. 나는 모든 웹사이트 디렉토리에서 스크립트를 반복하는 대신 모든 웹사이트의 공통 스크립트에 대한 전역 디렉토리를 만들었습니다.

이 글로벌 디렉토리를 모든 웹사이트에서 액세스할 수 있도록 하려면 어떻게 해야 합니까? 다음과 같은 오류가 발생합니다.

Warning: require_once() [function.require-once]: SAFE MODE Restriction in effect. The script whose uid is XXXX is not allowed to access /vhosts/globallibrary/Zend/Application.php owned by uid XXXX

X 웹사이트의 전역 디렉토리 소유권을 변경했습니다. 그래서 X 웹사이트에서는 잘 작동합니다. 나중에 다른 웹사이트를 추가했습니다. Y 이제 같은 오류가 다시 발생합니다. Y 웹 사이트의 CHOWN을 변경하면 X 웹 사이트에도 동일한 오류가 발생합니다.

안전 모드 제한을 비활성화하고 싶지 않습니다. 모든 웹사이트에서 이 전역 디렉토리에 액세스할 수 있도록 하는 해결 방법이 있습니까?

전역 디렉터리에 액세스하려고 하면 브라우저에 다음과 같은 오류가 발생합니다. 글로벌 디렉토리는 다른 모든 웹사이트와 동일한 수준입니다.

웹사이트에 안전 모드를 활성화하는 것이 좋은 방법인가요?

답변1

safe_mode_include_dir안전 모드 제한을 우회해야 하는 '안전 모드'에서 사용할 포함 디렉터리를 설정할 수 있습니다.

그러나 안전 모드는 가치가 떨어지므로 공유 호스팅을 제공하지 않는 한 사용해서는 안 되지만 그래도 더 나은 방법이 있습니다.

답변2

안전 모드 제한을 비활성화하고 싶지 않습니다.

왜 안 돼?

더 이상 사용되지 않는 데에는 매우 좋은 이유가 있습니다.

웹사이트에 안전 모드를 활성화하는 것이 좋은 방법인가요?

아니요.

보안 모델을 설계하는 것은 여기서 현명하게 처리할 수 있는 것 이상이지만 PHP 안전 모드는 모델에 포함되어서는 안 됩니다.

임시 조치로 데이터를 데이터베이스에 저장하는 것을 고려할 수 있습니다.

관련 정보