modificando o nome de um parâmetro POST no apache

2

Gostaria de alterar o nome de um parâmetro POST de "SURNAME" para "LASTNAME" usando o apache.

O motivo é que temos clientes legados fazendo uma postagem em um servidor legado. Nenhum dos dois pode ser modificado, e é por isso que eu gostaria de fazer a tradução no Apache. Eu usei o mod_rewrite para traduzir alguns valores de querystring, mas as mensagens estão fora do alcance do mod_rewrite.

Então, alguém sabe como manipular o nome de um parâmetro de postagem?

    
por Fidel 16.12.2013 / 04:44

1 resposta

1

Sim, essa é uma situação ruim. mod_rewrite não ajuda você com dados POST, mod_filter e mod_ext_filter só funcionam na saída, e mod_reflector retorna o pedido alterado imediatamente.

Então, a menos que você tenha vontade de escrever um módulo do apache (mod_filter_request.so, ou qualquer outro), de uma forma ou de outra, você terá que manejar o pedido do cliente antes que chegue ao servidor e, pior ainda, precisa ser invisível no nível de transporte (o que me lembra, você não mencionou se isso era SSL ou não - em caso afirmativo, o seu gerenciador agora será responsável por todos os SSL, já que você tem que "olhar para dentro" para mudar a variável).

Então, grosso modo (os detalhes dependerão muito de como você está atualmente configurado):

Etapa 1: crie um site muito simples voltado ao público que simplesmente passe todas as solicitações para um único script

(EDIT: O que eu tive não vai funcionar porque vai perder a variável POST; apenas mapear tudo para este script como o manipulador ...)

Passo 2: escreva pass.pl (ou qualquer outro). Deveria a) pegue o pedido b) armazenar todas as variáveis c) gerar uma nova solicitação para o servidor legado d) receber a resposta e) enviar essa resposta de volta ao cliente original

(Há tantas suposições de configuração que eu nem vou tentar um exemplo de código.)

Sem rodeios, provavelmente não vale a pena, e você pode estar melhor mudando o nome da variável em qualquer sistema que o servidor herdado grava (ele tem ganchos que você pode acessar)?

    
por 16.12.2013 / 08:28

Tags