Ticket #1202 (closed defeito: fixed)
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
Change History
comment:2 Changed 14 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 14 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 14 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:6 in reply to: ↑ 4 Changed 13 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.