Ticket #1202 (closed defeito: fixed)

Opened 10 years ago

Last modified 10 years ago

Erro ao logar

Reported by: thiagoaos Owned by: diogenesduarte
Priority: normal Milestone: Expresso 2.2
Component: API Version: branch 2.2
Severity: média Keywords: prodeb login
Cc: WorkGroup:

Description

Alguns usuários de um cliente estão encontrando o erro apontado pelo arquivo em anexo e não conseguem logar.

A coluna ip da tabela phpgw_access_log possui um tamanho máximo de 30 caracteres, e no caso dos usuários desse cliente, essa coluna precisaria de um valor maior, pois as máquinas parecem passar por uma quantidade de proxys grande, e o valor a ser inserido concatena o ip dos proxys passados além do da máquina do usuário. Aumentamos o tamanho máximo da coluna para 100 caracteres.

Attachments

error_login.bmp Download (606.5 KB) - added by thiagoaos 10 years ago.

Change History

Changed 10 years ago by thiagoaos

comment:1 Changed 10 years ago by wmerlotto

Por favor, verifique os tickets #664 e #1041.

comment:2 Changed 10 years ago by niltonneto

Pois é, isso depende muito do serviço de rede que está entre o cliente e o servidor. A variável que contém o IP do usuário fica no cabeçalho (header) da requisição HTTP, que pode ter valores IP adicionados ou removidos conforme a configuração do serviço no meio (proxy por exemplo). Outra solução talvez seria salvar até, por exemplo, 3 números IPs, para que pudessem ser salvos dentro de 30 caracteres.

comment:3 Changed 10 years ago by diogenesduarte

Aqui nós aumentamos o campo ip para um valor maior, mas achei melhor essa estratégia de gravar n números ips apenas...

comment:4 follow-up: ↓ 6 Changed 10 years ago by niltonneto

Faça isso.. Acho que só fazer um explode(',', $ip) e depois um implode contendo somente os três primeiros ips, na hora que ele mandar gravar o IP.

comment:5 Changed 10 years ago by diogenesduarte

  • Owner changed from ninguem to diogenesduarte

comment:6 in reply to: ↑ 4 Changed 10 years ago by diogenesduarte

  • Status changed from new to closed
  • Resolution set to fixed

Os 3 primeiros é impossível, pois o limite são 30 caracteres, e 3 ips extrapolaria facilmente. Colocamos para que, caso extrapole os 30 caracteres, seja apenas aproveitado os 2 primeiros IPs, e para o caso extremo de extrapolar com dois ips(o máximo para 2 ips e um delimitador são 31 caracteres), pegamos apenas o primeiro.

Feito isso na revisão [3430].

Replying to niltonneto:

Faça isso.. Acho que só fazer um explode(',', $ip) e depois um implode contendo somente os três primeiros ips, na hora que ele mandar gravar o IP.

Note: See TracTickets for help on using tickets.