Implement FTP and FTP-over-SSL Connectivity in PHP Pages
The FTPS (FTP-over-SSL) protocol allows for secure file transfers to and from your Web server performed over a secure SSL / TLS tunnel.
The PHP edition of FTPSBlackbox allows implementing Web-based secure file transfers, offering secure file uploads and downloads via PHP pages served by your Web server. FTPSBlackbox includes the complete set of server-side functions to implement FTP (RFC 959) and FTP-over-SSL (RFC 2228) support with standalone PHP scripts.
Note: FTPS (FTP over SSL) is not SFTP, which is SSH File Transfer Protocol. If you are looking for SFTP, we have SFTPBlackbox package for you.
FTPSBlackbox (PHP edition, part of SecureBlackbox software product) is a collection of classes and functions for your PHP applications.
Download and try nowDownload SecureBlackbox (PHP edition), including FTPSBlackbox package
Why choose FTPSBlackbox
- Connect to existing FTP/FTPS servers or build your own FTP/FTPS server in PHP
- Implement secure file transfers via Web interface without downloadable clients or ActiveX plugins
- FTP and FTPS class library for PHP allow building platform-independent PHP applications
- Supports FTP and FTP-over-SSL in both explicit and implicit modes
- FTP proxy support
- Optional GZip compression
- Supports latest versions and features of SSL/TLS protocols such including AES and Camellia Cipher Suites, TLS extensions and more
- Free developer-level support from the beginning of your evaluation
Main features of FTP PHP library
- Server-side class library for FTP (RFC 959) and FTPS (RFC 2228) protocols
- Functions for implementing server-side, Web-based file transfers in PHP Web pages (no client software required)
- Support wildcards and regular expressions for uploading and downloading files
- Support for explicit and implicit SSL/TLS
- GZip compression (MODE Z) support
- Support for files over 4 GB
- Royalty-free licensing
- Platform-independent implementation to enable Web-based file transfers in all modern Web browsers
- Sample code available
- Free developer-level technical support
Download SecureBlackbox (PHP) including the FTPSBlackbox packageCompression gives an additional level of security and lets you increase transfer speed significantly and reduce the network load and storage space requirements.
Synchronous operation mode gives you a linear programming approach without complicated callback functions. This approach saves your development time and reduces the number of errors.
Asynchronous operation mode, on the other hand, gives you flexibility and complete control over your application communications.Synchronous operation mode gives you a linear programming approach without complicated callback functions. This approach saves your development time and reduces the number of errors. Simple SecureBlackbox components can be used for reliable data transfer no matter what type of proxy or firewall is used to protect the network.
HTTPS proxy access includes support for Basic, Digest and Windows Integrated (NTLM) authentication mechanisms. You can process huge files and not be bound by restrictions of 32-bit environments. This feature works on both 32-bit and 64-bit systems without any limitations. To limit and control network load and bandwidth consumption you can setup maximum upload and download speed for the data transfer components. Transport (SSL, FTP, HTTP, SMTP, POP3, IMAP, WebDAV, LDAP, SSH, SFTP) components can be used in IPv6 networks without any problems, address conversions or packet wrapping. Transport (SSL, FTP, HTTP, SMTP, POP3, IMAP, WebDAV, LDAP, SSH, SFTP) components understand and make use of non-latin domain names (so-called International Domain Names, IDN). In FIPS operation mode SecureBlackbox uses only certified CryptoAPI modules of Windows to perform any cryptographic operations.
FIPS mode is available only on Windows platform. Virtual File System adapters let SecureBlackbox components, which operate with files, work with various backend file storages and not just with "physical" disk.
For example, in WebDAV, SFTP, HTTP(S) and FTP(S) servers you can provide a personal storage space for each connected user.
Out of the box file system adapter and SolFS virtual file system adapter are included and you can easily create your own adapter. With DNSSEC support enabled you protect your socket connection from being fooled by possible DNS cache poisoning and other malicious DNS activities.
DNSSEC requires that the DNS record for the destination server contains a certified signature. Distributed Crypto modules let web site visitors use certificates accessible only on the client system to sign the data, stored on the server (no need to download this data).
This is done with help of client-side modules (Java applet, ActiveX control, Flash applet), embedded into the web page. Cryptographic hardware gains more and more popularity every day. If your software deals with X.509 certificates or PKI in general (RSA keys etc.), it is time to support cryptocards and USB tokens.
To use cryptographic hardware you need a license for PKIBlackbox. SecureBlackbox was written from the ground up by EldoS developers. It doesn't use third-party code to implement its cryptographic functions. This means that you are not bound by CryptoAPI or OpenSSL version when you need to use certain algorithm.
At the same time it's possible to plug third-party security libraries and hardware modules by utilizing the pluggable architecture of SecureBlackbox. No royalties means the licensing procedure which is clear and easy to understand and manage. Pay for the license once and use it for development and deployment with no other payments. We provide free technical support via web-based Forum and HelpDesk. Support is available for everyone, and the requests from clients who purchased a license are given priority. Also you can use our extensive knowledgebase. With SSLBlackbox you get not just SSL support, but also feature-rich components for PKI support. This includes management of X.509 certificates, certificate requests and CRLs, PKI-based data encryption and signing operations, digital timestamping and more. With the wide choice of encryption, authentication and key exchange algorithms supported by SSLBlackbox, you will be able to meet the security requirements and get compatibility with the wide choice of differently configured servers and clients. With SSLBlackbox you can secure not just common TCP communications, but also UDP-based data transfer or other message-based transfer protocols. This lets you secure the whole new class of communications, such as audio and video delivery over internet, various message-based distributed protocols etc. The widest possible protocol support lets you get all that you can from SSL / TLS and that your software is compatible with the widest choice of client and server software. SSL session resumption speeds up subsequent session initiation and reduces server and network load. Resumption is supported by many SSL / TLS clients and servers. Validation of the other party's certificate is usually much more than just verifying the cryptographic signature. Correct validation includes verification of validity of the certificate and all of its issuer certficates, sometimes using CRLs (certificate revocation lists) and requests to the issuer servers using OCSP protocol. With SSLBlackbox you can build your own verification procedures easily. Usually only the server is authenticated during SSL / TLS handshake. But the situations when the client needs to authenticate itself using X.509 certificate become more and more often. Unfortunately most SSL/TLS and HTTPS or FTPS components don't provide support for client-side authentication.
SSLBlackbox provides full support for client-side certificate authentication in its server-side and client-side components.Cryptographic hardware gains more and more popularity every day. If your software deals with X.509 certificates or PKI in general (RSA keys etc.), it is time to support cryptocards and USB tokens. Most SSL/TLS and HTTPS or FTPS components can't use the certificate with a private key stored on a cryptocard or USB token.
SSLBlackbox is fully capable to use the cryptographic hardware (which doesn't export the private key) for SSL authentication of both clients and servers.To use cryptographic hardware you need a license for PKIBlackbox. Originally SSL protocol used X.509 certificate for authenticating servers and clients. This type of authentication remains the most popular now. However various security needs and hardware limitations caused introduction of the alternative authentication methods. They are pre-shared key authentication (it can be named "password-based") and OpenPGP-based authentication (using OpenPGP keys instead of X.509 certificates).
Each of the alternative authentication methods has its own strengths and usage scenarios. SSLBlackbox provides full support for these new authentication methods.TLS extensions are used to extend functionality of the TLS communication, transfer additional information and provide better service to the parties. SSL / TLS protocol offers the number of very useful features, which don't actually require TCP transport. The protocol can be used with any low-level transport protocols, and SecureBlackbox makes this possible. SSLBlackbox supports the keys of any length, used in modern computing. If you need more strength, you can generate and use 4096-bit keys without problems. SSLBlackbox supports algorithms based on Elliptic Curve Cryptography. These algorithms provide higher security level, than more traditional Diffie-Helman and DSA algorithms. Application-level protocols, such as HTTP, FTP and SMTP, can work in two modes - explicit and implicit. In implicit mode first SSL connection is established, then protocol connection is carried over the protected channel. In explicit mode the TLS connection parameters are negotiated using the command on the protocol level.
SSLBlackbox supports implicit and explicit modes in FTP and SMTP client components. This lets you connect to greater number of servers which use SSL/TLS.Originally FTP didn't specify the format, in which directory listing must be transferred. This produced the huge variety of directory listing (over 400 formats).
MLST command has been added to FTP recently. Specification for this command describes the exact format of the listing. The exact format makes it possible to easily parse the directory listing.
As SSLBlackbox supports this command, you don't need to deal with the variety of the listing formats.In some cases it is necessary to send a custom command, not defined in FTP protocol specification, but supported by the server. With SSLBlackbox this is possible to do. Most FTP servers support REST command, but not all clients are able to properly use this support. With SSLBlackbox you can transfer parts of the files.
If the transfer is interrupted you can always resume it. And if you need to upload or download only a part of the file, you can transfer the needed part without the need to process the whole file.While not very popular ourdays, FTP proxy servers are sometimes used. They are necessary when the client application is behind the firewall, but needs access to the outside world. Not all FTP clients support FTP proxies. With SSLBlackbox FTP proxies are not a problem. Some FTP servers are placed behind the firewall. When you connect to them in passive mode, they give you their LAN IP address for the data channel. With most clients such behaviour leads to impossibility to transfer the data. But not with SSLBlackbox, whose FTP component can detect such situation and adjust the address automatically, letting you successfully transfer the data. High-level file transfer methods save your development time and reduce the number of errors.