AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1482559
Accepted
Chameleon
Chameleon
Asked: 2019-09-15 03:06:02 +0800 CST2019-09-15 03:06:02 +0800 CST 2019-09-15 03:06:02 +0800 CST

Clientes FTP populares falharam ao detectar automaticamente que o VSFTPD atende a nomes de arquivos UTF-8

  • 772

Eu corro vsftpd 3.0.3 / armv7l / Debian 9.11 / Kernel 4.14.133+

Alguns caminhos têm caracteres gregos.

No arquivo /etc/vsftpd.confhá uma linha utf8_filesystem=YES, mas também esse é o comportamento padrão.

No modo de detecção automática do conjunto de caracteres do cliente:

Chrome, Opera, Total Commander entendem que caminhos servidos com caracteres UTF-8.

Firefox, FileZilla, Double Commander não entendem que caminhos servidos com caracteres UTF-8 e exibem 2 caracteres por caractere grego. Se eu forçar o conjunto de caracteres para UTF-8, tudo funcionará bem.

Não tenho certeza de que esse comportamento errôneo seja do lado do cliente. Eu acredito (!) que clientes não errados, apenas têm um mecanismo à prova de falhas em charsets.

É um problema menor, mas os clientes-usuários, exceto eu, podem ficar frustrados.

Segue abaixo o log do Filezilla, da conexão:

Status: Connecting to 192.168.1.2:21...
Status: Connecting to 192.168.1.2:21...
Status: Connection established, waiting for welcome message...
Response: 220 (vsFTPd 3.0.3)
Command: AUTH TLS
Response: 530 Please login with USER and PASS.
Command: AUTH SSL
Response: 530 Please login with USER and PASS.
Status: Insecure server, it does not support FTP over TLS.
Command: USER videos
Response: 331 Please specify the password.
Command: PASS 
Response: 230 Login successful.
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Features:
Response:  EPRT
Response:  EPSV
Response:  MDTM
Response:  PASV
Response:  REST STREAM
Response:  SIZE
Response:  TVFS
Response: 211 End
Status: Server does not support non-ASCII characters.
Status: Logged in
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is the current directory
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 Entering Passive Mode (192,168,1,2,204,166).
Command: LIST
Response: 150 Here comes the directory listing.
Response: 226 Directory send OK.
Command: PASV
Response: 227 Entering Passive Mode (192,168,1,2,73,251).
Command: LIST -a
Response: 150 Here comes the directory listing.
Response: 226 Directory send OK.
Status: Directory listing of "/" successful

E uma imagem com, como aparecem os caminhos de arquivo:

insira a descrição da imagem aqui

utf-8 ftp
  • 1 1 respostas
  • 2284 Views

1 respostas

  • Voted
  1. Best Answer
    Martin Prikryl
    2019-09-15T22:22:09+08:002019-09-15T22:22:09+08:00

    O FileZilla precisa que o servidor retorne UTF8na resposta ao FEATcomando para usar UTF-8 automaticamente.

    Seu servidor não retorna UTF8. Mas o que é estranho é que o vsftpd 3.0.3 deve retornar UTF8incondicionalmente. Este é o código vsftpd 3.0.3 para enviar uma resposta ao FEATcomando:

    void
    handle_feat(struct vsf_session* p_sess)
    {
      vsf_cmdio_write_hyphen(p_sess, FTP_FEAT, "Features:");
      if (tunable_ssl_enable)
      {
        if (tunable_sslv2 || tunable_sslv3)
        {
          vsf_cmdio_write_raw(p_sess, " AUTH SSL\r\n");
        }
        if (tunable_tlsv1)
        {
          vsf_cmdio_write_raw(p_sess, " AUTH TLS\r\n");
        }
      }
      if (tunable_port_enable)
      {
        vsf_cmdio_write_raw(p_sess, " EPRT\r\n");
      }
      if (tunable_pasv_enable)
      {
        vsf_cmdio_write_raw(p_sess, " EPSV\r\n");
      }
      vsf_cmdio_write_raw(p_sess, " MDTM\r\n");
      if (tunable_pasv_enable)
      {
        vsf_cmdio_write_raw(p_sess, " PASV\r\n");
      }
      if (tunable_ssl_enable)
      {
        vsf_cmdio_write_raw(p_sess, " PBSZ\r\n");
        vsf_cmdio_write_raw(p_sess, " PROT\r\n");
      }
      vsf_cmdio_write_raw(p_sess, " REST STREAM\r\n");
      vsf_cmdio_write_raw(p_sess, " SIZE\r\n");
      vsf_cmdio_write_raw(p_sess, " TVFS\r\n");
      vsf_cmdio_write_raw(p_sess, " UTF8\r\n");
      vsf_cmdio_write(p_sess, FTP_FEAT, "End");
    }
    

    Isso não corresponde ao log que você postou. Você deve ter alguma compilação personalizada do vsftpd ou há algum proxy/firewall no caminho que remove o arquivo UTF8.


    De qualquer forma, você pode configurar o FileZilla para usar UTF-8 sempre. No Site Manager , vá para a guia Charset e selecione Force UTF-8 .

    • 2

relate perguntas

  • Como obter senhas de login FTP não criptografadas do arquivo de exportação WinSCP?

  • O que realmente está acontecendo ao carregar os arquivos do FileZilla? Estamos hospedando-o? , se sim, como ele está realmente vinculado ao provedor de hospedagem na web?

  • Use o Microsoft Word para salvar um arquivo UTF-8 sem o BOM

  • É possível criar um código QR usando texto?

  • É possível usar FTP sem sistema de arquivos no cliente?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve