ID: 20951 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Won't fix +Status: Open Bug Type: IIS related Operating System: Windows .Net Server 2003 RC2 PHP Version: 4CVS-2002-12-11 (dev) New Comment:
Bummer. You should at least consider making this optional in the future (via an INI setting). Do you remember what problems you ran into before that were fixed by calling CMD.EXE? I went over this several times and didn't find a good reason to ALWAYS call CMD.EXE. Any webserver would definately web more secure if PHP didn't require access to CMD.EXE to call external programs. The Deny ACL instituted by Windows.Net Server just hilights how much a security concern Microsoft thought it was.... Previous Comments: ------------------------------------------------------------------------ [2002-12-26 20:19:15] [EMAIL PROTECTED] There were many other probmlems with executing applications from within a web server environment that were solved by requiring the execution through cmd /c. I guess system administrators would have to configure there servers accordingly. ------------------------------------------------------------------------ [2002-12-11 23:16:20] [EMAIL PROTECTED] Windows.Net Server 2003 has instituted a new security measure that causes problems with any of the shell related functions in PHP. Windows.Net Server changes the ACL's on EXE's in the %windir%\system32 subdirectory. In particular CMD.EXE can no longer be executed by the "anonymous" user account (ie, IUSR_COMPUTERNAME)--there is a specific Deny ACL created by the Windows.Net Server installer. Since PHP calls CMD.EXE to execute any external shell program PHP requires that CMD.EXE be reconfigured for anonymous access anytime a PHP page needs to call an external program. This design is no longer a good idea because PHP forces the web administrator to open up a potential security hole in the system by re-enabling access to CMD.EXE. The shell functions in PHP should call the application directly instead of always calling CMD.EXE? If the PHP programmer wants to call a feature of the CMD intreperter then he should be forced to call the shell command like `CMD /C dir *.*`; Only then would the administrator be required to allow access to the command intreperter. Please consider this modification as it will make Windows.Net Server more secure when running PHP. Or at least add configuration option to PHP.INI that will modify the behavior of the shell functions to no longer directly call CMD.EXE Thank you! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=20951&edit=1