Traductor

La codificación de la URL 

Cuando en capítulos anteriores hablamos del envío de formularios en el capítulo 5, dijimos que, al enviar al enviar un formulario al servidor mediante GET, los campos y los valores introducidos por el usuario, se transmiten a través de la URL en un formato específico que se conoce como codificación URL.
Este cifrado corresponde a las estipulaciones e los RFC 1630 y 1738.
  • Los RFC (Request For Comments), son documentos, universalmente aceptados, que regulan el funcionamiento y modo de uso de todos los protocolos de comunicación en Internet.
  • Los métodos de cifrado y trasmisión de datos, formatos de cabeceras de páginas, etc.
  • Esto constituye una riquísmia fuente de información y documentación para programadores que se enfrentan a trabajos con redes de ordenadores y en general para cualquier persona que sienta curiosidad por este tema.
  • Para saber mas sobre los RFC visite:
Pero básicamente de lo que se trata es de lo siguiente. Existen determinados caracteres conocidos como inseguros. Esto se refiere a que la trasmisión de dichos caracteres en la URL, abre lo que se conoce como "agujeros de seguridad" o "bugs", los cuales son puertas traseras que utilizan lo hackers para acceder a zonas de los servidores que normalmente son reservados, o para abrir ficheros para los que hace falta algún tipo de autorización especial.
Para evitar que estos caracteres sean trasmitidos, se emplea la codificación de la URL, así que primero se codifica la URL y después se trasmite al servidor.
Por ejemplo, uno de los caracteres inseguros mas comunes son los espacios en blanco, para codificarlo se emplea la base hexadecimal, considerando el número que representa en el código ASCII, y se le antepone el %.
  • El código ASCII del espacio en blanco es el 32
  • Su correspondiente cifra hexadecimal es el 20
  • Al anteponer el % nos quedaría algo como esto:
%20
Los caracteres inseguros son:
  • El espacio en blanco
  • Letras acentuadas (mayúsculas y minúsculas)
  • Los signos de puntuación, excepto el punto y el guión
  • Saltos de linea
PHP permite cifrar textos según la codificación URL. Para ello recurrimos a la función rawurlencode(), la cual recibe un texto normal y lo devuelve cifrado.
Como es lógico, también existe una función que permite recuperar el texto original. Se trata de rawurldecode().
Observe como funciona el siguiente código.
Guarde el siguiente código en el directorio de su servidor.
<html>
    <body>
        <p>
            Teclee un texto para su codificaci&oacute;n URL.
        </p>
        <form action="codificarUrl.php" id="formulario1" name="formulario1" method="post" enctype="application/x-www-form-urlencoded">
            <p>
                <textarea name="textoOriginal" cols="50" rows="4" id="textoOriginal"></textarea>
            </p>
            <p>
                <input name="mandar" type="submit" id="mandar" value="ENVIAR">
                <input name="borrar" type="reset" id="borrar" value="BORRAR">
            </p>
        </form>
    </body>
</html>
Al cargar la página se dará cuenta de que se trata de un formulario. En dicho formulario hay una caja de texto multilinea, y los botones típicos de enviar (submit) y borrar (reset).
Ahora crearemos el código PHP, al cual se enviara el contenido del formulario anterior.
El código PHP es el siguiente. recuerde guardarlo con el título del atributo action del codigo anterior, el cual es: codificarUrl.php
<?php
    $textoCodificado=rawurlencode($_POST["textoOriginal"]);
    $textoRecuperado=rawurldecode($textoCodificado);
?>
<html>
    <body>
        <table width="505" border="1">
            <tr>
                <td width="505">
                    <table align="left" width="500" cellpadding="4" border="2">
                        <tr>
                            <th>TEXTO ORIGINAL</th>
                        </tr>
                        <tr>
                            <td bgcolor="#C0C0C0"><?php echo ($_POST["textoOriginal"]); ?> </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                 <td width="505">
                    <table align="left" width="500" cellpadding="4" border="2">
                        <tr>
                            <th>TEXTO CODIFICADO</th>
                        </tr>
                        <tr>
                            <td bgcolor="#C0C0C0"><?php echo ($textoCodificado); ?> </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td width="505">
                    <table align="left" width="500" cellpadding="4" border="2">
                        <tr>
                            <th>TEXTO RECUPERADO</th>
                        </tr>
                        <tr>
                            <td bgcolor="#C0C0C0"><?php echo ($textoRecuperado); ?> </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </body>
</html>
Cargue el script HTML, envíelo al script de PHP, y lo que verá será los siguiente:
Recuerden Comentar Compartir y Darle 

Hasta la Próxima

Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto

0 comentarios:

Publicar un comentario