
1424M414
(usa Arch Linux)
Enviado em 22/11/2014 - 20:51h
Talvez não exista nenhuma forma "elegante" de fazer isso utilizando apenas o squid/iptables. O que mais perto disso que consigo pensar, é que você pode criar regras de negação e retornar uma página que servirá de wrapper para a página que realmente o cliente deseja acessar. As regras te retornam muitas informações úteis, como cliente, página requisitada, negação gerada... mas essas informações deveriam ser utilizadas para informar um erro, por isso não considero uma forma elegante de se fazer, mas desconheço qualquer outra.
Você pode visualizar o que estou falando em vários sistemas de captive portal que oferecem serviços de login através do browser, principalmente aqueles que oferecem algum tipo de serviço a parte do login, como sub-páginas e/ou sub-domínios acessíveis antes da validação do cliente.
Um esboço de funcionamento seria:
1) O cliente envia uma requisição ao servidor
2) O servidor está em processo de negação (internamente)
3) Com isso você obtem informações do cliente e da página requisitada
4) Se o cliente está validado, as informações úteis podem ser repassadas ao wrapper alvo
5) O servidor mostra esse wrapper ao cliente, que já teria o código da barra que deseja, junto com a página que o cliente quer acessar.