Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Correção da falha de autenticação Authd


ventura
 Compartilhar

Posts Recomendados

As principais razões para a "queda" authd é:
1. Codificação.
2. Login muito longo.

A solução de codificação já existe

Vamos falar sobre como eles conseguem a queda do ause através de um login muito longo?
Aqui o cálculo é que um erro de driver JDBC será causado.
Ao verificar o login e a senha, o auz chama a procedureadquireuserpasswd, que repassa o login.
A estrutura do procedimento especifica que o comprimento máximo de um login varchar(64) é de 64 letras.
Quando um nome de usuário é inserido com mais de 64 letras, obtemos um erro e o auz desaparece.

Da o seguinte erro:

Citar

GQueryPasswd:account is 545y54y5454y5454y545y454y5454y5454y545y454y5454y5445y454y5454y5454y54 , login ip is 192.***.***.***
Prepare procedure call:{call acquireuserpasswd(?,?,?)}
acquireIdPasswd exception:account=545y54y5454y5454y545y454y5454y5454y545y454y5454y5445y454y5454y5454y54
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name1' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3556)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2077)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1356)
at com.mysql.jdbc.CallableStatement.execute(CallableStatement.java:877)
at application.procedure.handler.execute(handler.java:197)
at org.mono.StorageEx.acquireIdPasswd(StorageEx.java:319)
at protocol.MatrixPasswd.Server(MatrixPasswd.java:65)
at com.goldhuman.IO.Protocol.Rpc.Process(Unknown Source)
at com.goldhuman.IO.Protocol.Task.run(Unknown Source)
at com.goldhuman.Common.ThreadPool.run(Unknown Source)

Não há nada sério no erro em si  é um aviso de que o login é muito longo. Mas, ao mesmo tempo, o desempenho da autenticação (login) cai.
A solução mais simples é remover essas exceções.

Solução

Abrindo o arquivo table.xml
Encontre a linha com a senha do banco de dados.

Nele, você precisa alterar a codificação utf8 para ascii, isso resolverá o primeiro problema.
E adicione &jdbcCompliantTruncation=false - desativar erros de frenagem.

 

Ficando assim

<connection name="auth0" poolsize="3" url="jdbc:mysql://localhost:3306/pw?useUnicode=true&amp;characterEncoding=ascii&amp;jdbcCompliantTruncation=false" username="root" password="SENHA_DB"/>
 

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

 Compartilhar



Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...