Pplware

PHP é à quinta-feira – Começar a programar

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

Exit mobile version