Objetivo: creación de una página web donde aparecerá un teclado numérico y que dependiendo de la combinación tecleada, ejecuta una función del sistema.
Paso 1. Instalación de php5 en Openwrt.
Tenemos que instalar las dependencias PHP5 para poder ejecutar acciones en el sistema a través de los “botones”.
opkg update opkg install php5 php5-cgi
Despues de ello, nos vamos a el archivo de configuracion de Uhttpd (El servicio web por defecto).Y añadimos lo siguiente para que el uhttpd reconozca los “.PHP”.
list interpreter ".php=/usr/bin/php-cgi"
Y hacemos restart del servicio con el comando:
/etc/init.d/uhttpd restart
Con esto ya nos reconoce las extensiones de páginas en php.
Paso 2. Creación de la página web.Creación de la web para envío de funciones del servidor
Creamos el archivo index.php en la carpeta /www/
nano /www/index.php
y añadimos lo siguiente:
<table border=1> <tr> <form name=f1 action="index2.php" method="post"> <input type="text" name="To" value="To: tumail@gmail.com" style="visibility:hidden"> <input type="text" name="From" value="From: tumail@gmail.com" style="visibility:hidden"> <input type="text" name="Subject" value="Subject: Desde Openwrt" style="visibility:hidden"> <input type="text" name="ip" value="<script language="php"> echo getRealIP() </script>" style="visibility:hidden"> <p id="code"></p> </form> <td width=30% align=center> <h4> Calculadora de funciones </h4> <table border=2 bordercolor=green> <form name="calculator" method="post"> <input type="text" name="To" value="To: tumail@gmail.com" style="visibility:hidden"> <input type="text" name="From" value="From: tumail@gmail.com" style="visibility:hidden"> <input type="text" name="Subject" value="Subject: Funcion Openwrt" style="visibility:hidden"> <TR> <TD colspan="4"><input type="textfield" name="ans" value=""></TD> </TR> <TR> <TD align=center><input type="button" value="1" onClick="document.calculator.ans.value+='1'"></TD> <TD align=center><input type="button" value="2" onClick="document.calculator.ans.value+='2'"></TD> <TD align=center><input type="button" value="3" onClick="document.calculator.ans.value+='3'"></TD> <TD align=center><input type="button" value="+" onClick="document.calculator.ans.value+='+'"></TD> </TR> <TR> <TD align=center><input type="button" value="4" onClick="document.calculator.ans.value+='4'"></TD> <TD align=center><input type="button" value="5" onClick="document.calculator.ans.value+='5'"></TD> <TD align=center><input type="button" value="6" onClick="document.calculator.ans.value+='6'"></TD> <TD align=center><input type="button" value="-" onClick="document.calculator.ans.value+='-'"></TD> </TR> <TR> <TD align=center><input type="button" value="7" onClick="document.calculator.ans.value+='7'"></TD> <TD align=center><input type="button" value="8" onClick="document.calculator.ans.value+='8'"></TD> <TD align=center><input type="button" value="9" onClick="document.calculator.ans.value+='9'"></TD> <TD align=center><input type="button" value="*" onClick="document.calculator.ans.value+='*'"></TD> </TR> <TR> <TD align=center><input type="button" value="0" onClick="document.calculator.ans.value+='0'"></TD> <TD align=center><input type="reset" value="C" cellpadding="2"></TD> <TD align=center colspan="2"><input type="submit" value="Enviar" onClick="document.calculator.ans.value=eval(document.calculator.ans.value)"></TD> </TR> </form> </table> </td> <td> <center><b>Funciones creadas</b></center> <div align="left"> <font size=2.5> <ul> <li>2250 - Cambiar ip: "ifconfig br-lan:0 192.168.20.2 </li> <li>4327 - ifconfig -a / Enviar por e-mail</li> <li>112 - uname -a / Enviar por e-mail</li> <li>+-15* - ls -l / Enviar por e-mail </li> </ul> </font> </div> </td> </tr> </table> </form> <br><br> <!-- PHP --> <?php $clave = $_POST["ans"]; if ($clave == "2250"){ system("ifconfig br-lan:0 192.168.20.2"); echo "FUNCION ENVIADA CORRECTAMENTE"; } elseif ($clave == "4327") { system("ifconfig -a > funcionguardada.txt && head -70 funcionguardada.txt >> funcion.txt && sleep 2; ssmtp tumail@gmail.com < funcion.txt"); echo "FUNCION ENVIADA CORRECTAMENTE"; } elseif ($clave == "112") { system("uname -a > funcionguardada.txt && head -4 funcionguardada.txt >> funcion.txt && sleep 2; ssmtp tumail@gmail.com < funcion.txt"); echo "FUNCION ENVIADA CORRECTAMENTE"; } elseif ($clave == "+-15*") { system("ls -l > funcionguardada.txt && head -50 funcionguardada.txt >> funcion.txt && sleep 2; ssmtp tumail@gmail.com < funcion.txt"); echo "FUNCION ENVIADA CORRECTAMENTE"; } elseif ($clave == "") { echo "INTRODUCIR FUNCION"; } else { echo "Funcion errorea!"; } fi; fi; fi; ?> <?php $sn=fopen("funcion.txt","w") or die("Problemas en la creacion"); fputs($sn,$_REQUEST['To']); fputs($sn,"\n"); fputs($sn,$_REQUEST['From']); fputs($sn,"\n"); fputs($sn,$_REQUEST['Subject']); fputs($sn,"\n"); fputs($sn,"--------------------------------------------------------"); fputs($sn,"\n"); fclose($sn); ?>
Ya sólo queda poner la dirección IP de nuestro router en el navegador y llamar a la página index.php.
http://dir_ip_del_router/index.php