Os valores inseridos nos browsers são falsificados em programas PHP


Data de Publicação:8 de Dezembro de 2020.



INFOMARTION > Os valores inseridos nos browsers são falsificados em programas PHP

Visão geral.

O texto falsificado ocorreu quando se passou do ecrã de entrada para o ecrã de confirmação em PHP.

O texto é falsificado ao introduzir o texto no formulário e ao passar para o ecrã de confirmação.

O texto falsificado também ocorre durante a transição para o próprio ecrã devido a erros de verificação de entrada.

Como o servidor tinha acabado de ser construído, senti que faltava algo na configuração do PHP, por isso vou descrever o que descobri nessa altura.


Tabela de Conteúdos

  1. investigação (para determinar a causa de algo)
  2. resumo

1. investigação (para determinar a causa de algo)

As seguintes informações foram investigadas para investigar a causa do problema.

1-1. inquérito

Primeiro, verificar as definições de PHP (php.ini).

php.ini


default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On

É como descrito acima e parece estar bem.

Então o problema parece ser causado pela fonte PHP.

No entanto, a fonte PHP não identificou o problema provável.

Mais uma vez, verifiquei o php.ini em busca de configurações suspeitas e encontrei uma configuração suspeita.

php.ini


mbstring.http_input = auto

Não ficou claro se foi codificado em UTF-8 porque foi colocado em automático, pelo que foi alterado como se segue para o experimentar.

php.ini


mbstring.http_input = UTF-8

Texto de má-fé resolvido com sucesso.

Esta configuração é necessária para o módulo mbstring quando se utilizam cordas multibyte, tais como as japonesas em PHP.

Configuração da codificação dos pedidos http recebidos.

2. resumo

Se ocorrer texto falsificado, primeiro tente organizar o fluxo de processamento.

E se experimentar caracteres falsificados ao utilizar PHP para fazer a transição do ecrã de entrada para o ecrã de confirmação ou outras transições de ecrã, suspeite das seguintes definições em php.ini.

A configuração padrão é 'auto', por isso verifique isto quando utilizar mbstring para processar cordas multibyte.

Obrigado por ter observado até ao fim.