Mais uma quinta-feira…mais uma rubrica. Hoje, e uma vez que não sei muito bem o que se passa com o meu tempo (não dá para nada), a rubrica será mais prática do que teórica.
O objectivo é criar um serviço de ping, que através de uma página web vocês introduzem um endereço IP de uma máquina e a mesma página apresenta os resultados relativamente a tempos entre a vossa máquina e a máquina que se encontro num outro lado.
Este tipo de ferramenta (ping), é normalmente usado via MS-DOS ou shell no Linux para saber se uma determinada máquina está alive.
Para a elaboração do mesmo serviço mas desta vez online vamos começar seguir os seguintes passos:
1) criar formulário para o cliente inserir os dados referentes à máquina que quer pingar.
2) Mandar correr a instrução:
ping <endereço_ip_que_forneceram>, através do comando exec
3) Apanhar o resultado e colocar numa variável
4) Apresentar o resultado na nossa página
Nota: O seguinte código apresenta algumas novidades que ainda não foram referidas aqui nesta rubrica, como é o caso dos arrays, da função exec, da função isset
Aqui segue um contributo dado pelo “grande” Pedro Simões.
== Função isset ==
A função isset é bastante útil pois permite-nos “descobrir” se uma determinada variável se encontra definida ou se foi removida durante a execução do script. É bastante útil quando recebemos variáveis de um GET ou de um POST pois permite controlar as variáveis de entrada!
== Função exec ==
Esta é talvez uma das melhores funções do PHP e ao mesmo tempo é uma das mais perigosas: E porquê?
É ela que nos permite interagir directamente com o nosso sistema operativo. Querem saber qual o utilizador que está a executar o script? Simples, “echo exec(‘whoami’);”. Querem desligar o PC durante a execução de um script? Ainda mais simples “exec(‘reboot -t now’);”. Conseguem ver agora o perigo que representa a possibilidade de um utilizador executar comandos arbitrariamente no vosso script!!
NOTA: Devem configurar o numero de pacotes que o ping envia ou arriscam-se a ver o vosso script estar eternamente a pingar! Em DOS não precisam pois ele limita a 4, mas em linux devem usar a flag -c seguida do numero da vossa preferência.
CÓDIGO
RESULTADO