Edit report at https://bugs.php.net/bug.php?id=55651&edit=1
ID: 55651 Comment by: abrender at elitehosts dot com Reported by: abrender at elitehosts dot com Summary: Option to force PHP to ignore the PASV address returned Status: Open Type: Feature/Change Request Package: FTP related Operating System: All PHP Version: 5.3.8 Block user comment: N Private report: N New Comment: Hi, Any chance of this patch getting reviewed and accepted? (A more detailed explanation is at http://www.elitehosts.com/blog/php-ftp-passive-ftp-server- behind-nat- nightmare/) There were 78 votes, 72 people reproduced the problem and other people are seeing the same problem: http://blog.derakkilgo.com/2013/08/24/php-has-a-ftps-bug-please-vote-this-bug- up-so-someone-will-approve-this-patch/ https://bugs.php.net/bug.php?id=64600 http://www.codingforums.com/archive/index.php/t-285742.html http://www.techques.com/question/1-2851547/How-to-Send-File-over-secure-FTP-SSL- Protocol http://www.webdeveloper.com/forum/showthread.php?236275-ftp_connect-blocked Thanks! Previous Comments: ------------------------------------------------------------------------ [2011-09-10 15:57:03] abrender at elitehosts dot com PS - this patch works against PHP 5.2.17 as well as 5.3.8 ------------------------------------------------------------------------ [2011-09-09 08:09:49] abrender at elitehosts dot com Description: ------------ In response to the PASV command, FTP servers sometimes return their IP address (10.X for example) and PHP honors this IP address, stores it in ftp->pasvaddr and uses that for future connections. This is problematic because PHP won't be able to communicate with a server behind a NAT device using passive FTP. The attached patch adds the USEPASVADDRESS option (a boolean) which can be set and read via the ftp_set_option() and ftp_get_option() functions. USEPASVADDRESS is set to TRUE by default to preserve existing functionality. When USEPASVADDRESS is set to FALSE, the ftp extension will ignore the IP address returned by the PASV command and instead use the IP address passed to ftp_connect() (or ftp_ssl_connect()) In the future we may expand the values to include AUTO which would ignore any RFC 1918 IP addresses returned by the PASV command. The only thing to note is that the call to ftp_set_option() must be made before ftp_pasv() is called. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55651&edit=1