Use as funções de ftp para assegurar o upload de arquivos seguros

É bastante comum para aplicações web que permite aos usuários fazer upload de arquivos por uma razão ou outra. Você precisa se certificar esses envios são seguros. Por exemplo, algumas placas de mensagem permitem aos usuários fazer upload de imagens pequenas ou avatares que são mostrados ao lado de cada uma das mensagens do usuário. Outros aplicativos permitem que você fazer upload de arquivos de dados para análise.

Video: Multiplos FTP's - Enviar vários arquivos para vários ftps automaticamente

Você pode usar built-in do PHP fopen () função, que abre automaticamente um fluxo para um arquivo ou URL que permite aos usuários fazer upload de arquivos. Infelizmente, este método está maduro para exploração por usuários mal-intencionados que podem usá-lo para fazer upload de arquivos de servidores remotos em seu servidor web.

Prevenir este tipo de exploração requer que você desabilitar duas configurações em php.ini: register_globals e url_fopen. Desativando essas configurações impede que os usuários usando upload de arquivos integrado do PHP sem você permitindo explicitamente essa funcionalidade.

Video: aula 08 permissao na pasta uploads

Depois de desativar essas duas funções em php.ini, você ainda precisa para permitir aos usuários fazer upload de arquivos. Use FTP conjunto de funções do PHP, um método muito mais seguro do que fopen (), para permitir aos usuários fazer upload de arquivos.

Você pode usar as funções de FTP bastante intuitiva. Primeiro, você estabelecer uma conexão, então você fazer o upload dos arquivos que você precisa, e, finalmente, fechar a conexão. Veja como usar as funções de FTP em PHP:

Video: Video aula Cpanel upload e deletar arquivo

? Lt; php // configurar básica conexão $ connection_id = ftp_connect ($ ftp_server) - // de login com nome de usuário e senha $ login_result = ftp_login ($ connection_id, $ ftp_username, $ ftp_password) - // verificar connectionif (($ connection_id! ) || (! $ login_result)) {echo "conexão FTP falhou!"-eco "Tentou se conectar a US $ ftp_server para o usuário $ ftp_username"-exit-} else {echo "Conectado a $ ftp_server, para o usuário $ ftp_username"-} // carregar o arquivo $ upload = ftp_put ($ connection_id, $ destination_file, $ source_file, FTP_BINARY) - // verificar carregamento statusif (! $ Upload) {echo "FTP upload falhou!"-} else {echo "Uploaded $ source_file para US $ ftp_server quanto $ destination_file"-} // fechar a streamftp_close FTP ($ conn_id) - gt;


Aqui estão as funções de FTP mais comuns e seus argumentos:

  • ftp_connect (string $ hospedeiro [, int $ porta [, int $ Timeout]]): Conectar ao servidor FTP - neste caso, o servidor web.

  • ftp_login (resource $ ftp_stream, string $ username, $ password string): Enviar credenciais de login para o servidor FTP.

  • ftp_put ($ ftp_stream recurso, string $ remote_file, string $ local_file, int $ modo [, int $ startpos]): Coloque um arquivo da máquina local para o servidor.

  • ftp_get ($ ftp_stream recurso, string $ local_file, string $ remote_file, int $ modo [, int $ resumepos]): Obter um arquivo do servidor e enviá-lo para uma máquina local.

  • ftp_close (resource $ ftp_stream): Feche a conexão com o servidor.

Você precisa fechar o fluxo de FTP assim que você terminar com ele- caso contrário, você tem uma conexão aberta que é vulnerável ao seqüestro.


Publicações relacionadas