De volta à rubrica “PHP é à quinta-feira“, esperamos que os utilizadores contribuam com sugestões e estamos abertos para receber os vossos artigos , para posteriormente publicação, sobre esta super linguagem de scripting “server-side”.
Pois bem, ontem em conversa com um amigo ele questionava-me como colocar no seu site, a indicação se o cliente estava aceder via IPv4 ou IPv6. Vamos ver como fazer um pequeno script php para esta questão.
Como já referimos em vários artigos, o IPv6 é a nova versão do protocolo IP, e foi desenvolvido para suceder à actual versão (o IPv4). O que motivou o desenvolvimento desta nova versão foi a aproximação da exaustão do espaço de endereçamento e a necessidade de resolver algumas das limitações do IPv4, nomeadamente no que toca a segurança e mobilidade, e simplificar algumas das funcionalidades do protocolo IPv4.
Exemplo de um endereço IPv4 e IPv6
Endereço IPv4: 192.168.10.1
Endereço IPv6: 2000:490:23d0:6700:f82d:b871:ecb8:fbce
Como podemos ver, um endereço IPv6 tem uma representação hexadecimal de blocos de 16 bits, separados por dois pontos ‘:’, por exemplo:
x:x:x:x:x:x:x:x onde os “x” são números hexadecimais
Script em PHP para indicar se o cliente está aceder ao site com um endereço IPv4 ou IPv6.
Considerando que pretendemos apenas saber se o cliente está a aceder via IPv4 ou IPv6, basta apenas verificar o endereço IP do cliente é separado por ponto ‘.’ (IPv4) ou por ‘:’ (IPv6). Coisa simples não é?
Para a produção do script precisamos de 2 funções essenciais:
- $_SERVER[‘REMOTE_ADDR’]; – que me permite obter o endereço do cliente
- strstr – Encontra a primeira ocorrência de uma string (neste caso os dois pontos ‘:’
Script completo
<?php
$ip=$_SERVER['REMOTE_ADDR'];
if (strstr($ip, ":")) {
echo "O seu endereço IPv6 é o: $ip";
} else {
echo "O seu endereço IPv4 é o: $ip";
}
?>
O script é relativamente simples e pode servir de base para serviços/páginas engraçadas. Lembram-se daqueles sites em que existia uma tartaruga que dançava quando o utilizador tinha um IPv6 (ver aqui)? Ou o bebé que chorava quando o IP do cliente ainda era IPv4? Através do script disponibilizado é simples fazer páginas desse tipo. Basta apenas incluir por exemplo um gif (ex. tartaruga parada) se o cliente tiver um endereço IPv4 ou um gif animado se o cliente tiver um endereço IPv6.
Ficamos à espera que nos mostrem as vossas ideia :). Boas programações! Alguém quer ajudar nesta rubrica?
Artigos relacionados
- IPv6 – a tua tartaruga dança?
- PHP é à quinta-feira – Arrays Associativos
- DirList 0.3.0 – Listagem Online de ficheiros via PHP
- PHP é à quinta-feira – 50 dicas sobre desempenho e segurança
- PHP é a quinta-feira – Ciclos While e for
- PHP é à quinta-feira – Previsão do tempo com PHP
- PHP é à quinta-feira – Um debug mais prático
- PHP é à quinta-feira – Definir cookies de forma mais prática
- PHP é à quinta-feira – Cortar texto em largura