PHP에서 Windows 도메인 공유 드라이브의 파일에 대한 액세스 구현
P粉323224129
P粉323224129 2023-08-30 23:11:13
0
1
483
<p>PHP/IIS 서버에서 제공해야 하는 많은 문서가 독립 실행형 컴퓨터에 저장되어 있습니다. 문제는 문서 드라이브가 Active Directory 도메인 머신에 연결되어 있고 웹 서버는 연결되어 있지 않기 때문에 PHP가 드라이브에 액세스하는 데 필요한 인증된 AD 사용자를 어디에 제공해야 할지 잘 모르겠습니다. </p> <p>제가 만든 새 Windows 사용자로 실행되는 PHP를 호출하는 IIS 응용 프로그램 풀이 있습니다(응용 프로그램 풀은 "ID"로 설정하고 웹 사이트는 익명 인증 사용자로 설정). 나는 이 새로운 사용자로 서버에 로그인하고 매핑된 네트워크 드라이브를 설정했지만 몇 가지 조사 후에 이것이 막다른 골목이라고 생각했습니다. 서비스가 매핑된 드라이브를 마운트하는 방식으로 Windows에 로그인하지 않는다는 것을 읽었습니다. </p> <p>IP 주소로만 참조하는 것이 작동에 더 가깝지만 인증 오류가 발생합니다. 온라인에서 찾은 주요 솔루션은 드라이브에 대한 액세스 권한이 있는 사용자로 응용 프로그램 풀을 실행하는 것입니다. 그러나 서버가 해당 Windows 도메인에 없기 때문에 이것이 가능한지 모르겠습니다. (하지만 저도 AD 전문가는 아닙니다)</p> <pre class="brush:php;toolbar:false;">echo shell_exec('whoami') //내가 생성한 Windows 사용자의 이름을 출력합니다. echo scandir('\\192.168.1.120\data$'); //사용자 이름/비밀번호를 찾을 수 없습니다. echo Trim(shell_exec('dir \\192.168.1.120\data$ 2>&1')) //사용자 이름 또는 비밀번호가 올바르지 않습니다. echo scandir('Z:\'); // 경로를 찾을 수 없다는 PHP 경고 echo Trim(shell_exec('dir Z: 2>&1')); //경로를 찾을 수 없습니다</pre> <p>해킹이 아닌 간단한 솔루션이 없다면 고객이 웹 서버를 AD 도메인에 넣을 수 있는지는 알 수 있지만, 그것이 다른 서비스에 의도하지 않은 부작용을 초래할지는 알 수 없습니다. 서버가 실행 중입니다. </p>
P粉323224129
P粉323224129

모든 응답(1)
P粉765570115

공개이고 사용자에게 디렉터리 인증이 필요하지 않은 경우 도메인에 넣지 마세요. 그러나 일종의 인증이 필요하거나 AD에서 정보를 조회해야 하는 경우 DMZ에서 ADAM(Active Directory Application Mode)을 실행하는 것을 고려할 수 있습니다. ADAM은 표준 AD 파티션을 동기화하지 않으므로 관련 정보를 AD에서 응용 프로그램 파티션으로 복사해야 할 수도 있습니다.

물론, 웹 서버가 도메인 컨트롤러와 동일한 네트워크에 있는 경우 관리 효율성을 높이기 위해 도메인에 추가할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿