Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Taller Programación PHP #3

  • 5 Respuestas
  • 6896 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5487
  • Actividad:
    23.33%
  • Reputación 35
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Octubre 04, 2014, 07:08:50 pm »

MANEJO DE FORMULARIOS CON GET Y POST

UN REPASO

Tanto GET como POST son métodos de protocolo HTTP, el cual está compuesto por un envío al servidor conocido como petición y una respuesta a dicha solicitud.

GET

• Se utiliza para enviar y recuperar información identificada en una URL.

• Se puede usar para pasar información al servidor: en forma de pares atributo-valor y añadiéndolos al final de la URL seguido de un símbolo de interrogación “?”.

• Cabe destacar que la longitud de la petición GET está limitada por el espacio libre en los buffer de entrada

POST

• Sirve para enviar y recuperar información enviada de forma no visible en la URL.

• Se puede utilizar para pasar información al servidor: en forma de pares atributo-valor e incluidos en el cuerpo de la petición.

• A diferencia del método GET este no sufre de limitaciones de espacios a lo que puede enviar mucha más información al servidor


Más adelante, en este taller, veremos de forma más detallada la diferencia entre estos dos métodos y como, y cuando, se deben utilizar.

Para los siguientes ejemplos prácticos deberemos contar con los siguientes elementos:

- IDE (Entorno de desarrollo integrado): Sublime, Eclipse, Notepad ++ o simplemente un Block de Notas
- Debemos contar apache
- Intérprete de php
- Navegador (Chrome- Firefox)

Existen paquetes en que se encuentra incluido todo el entorno (PHP – APACHE) para poder trabajar, entre ellos, encontramos xampp o wampp en Windows y lampp o de forma individual en Linux.

En este taller trabajaremos sobre los sistemas operativos Windows y Linux


MANOS A LA OBRA

Lo primero que demos realizar es comprobar si tenemos nuestro servidor local instalado, colocando en la URL de nuestro navegador la siguiente dirección 127.0.0.1 ó localhost.


De no mostrarnos lo siguiente,  deberemos realizar la instalación.


Ahora, si nos muestra lo siguiente significa que ya estamos aptos para empezar a programar en PHP.
(Saltar a Configuración de Seguridad)



INSTALACIÓN DE XAMPP EN WINDOWS

Deberemos realizar la descarga desde la página oficial de nuestro entorno, XAMPP. Para ello nos tendremos que dirigir al siguiente link.

https://www.apachefriends.org/es/index.html

-XAMPP 1.8.2 (con PHP 5.4)
   que sirve para: Windows 2003, 2008, 2012, XP, Vista, 7, 8

-XAMPP 1.8.3 (con PHP 5.5)
   que nos sirve para los siguientes Windows : 2008, 2012, Vista, 7, 8. (No soporta XP o 2003)

En la página podremos optar por 2 versiones:
En este caso yo utilizare XAMPP 1.8.2 ya que cuento con una máquina virtual de Windows XP además de usar Sublime como IDE.

INSTALANDO...

Para la instalación, deberemos hacer doble click en el archivo descargado y seguir los siguientes pasos que prácticamente son: Next => Next





1. Comenzando la Instalación.
2. Seleccionamos los componentes a instalar, en este caso lo dejé por defecto.
3. Seleccionamos la carpeta en donde queremos que se instale.
4. Desmarcamos la casilla “Leer más…”.
5. Nos informa que está por comenzar la instalación en nuestra pc.
6. Nos muestra el estado de la instalación.
7. Hacemos click en FINISH.

Una vez que tenemos ya instalado nuestro entorno, tendremos que realizar algunas configuraciones  para que funcione correctamente nuestro Apache y MySQL.


CONFIGURANDO SEGURIDAD XAMPP

1. Abrir el navegador y colocar en la URL 127.0.0.1 o localhost.


2. Seleccionar el idioma de nuestra preferencia.


3. Click en chequeo de seguridad.


4. Click en el enlace para configurar nuestro usuario y contraseña.


5. Colocar una contraseña fácil de recordar, en mi caso coloqué “1234”.


6. Click en Pasword changing


CONFIGURANDO CONTROL DE PANEL

1. Tendremos que ir a Inicio = > Todos los programas => XAMPP => XAMPP Control Panel


2. Una vez seleccionado el Panel de Control de XAMPP, activaremos lo siguiente como se muestra en la imagen.


3. Una vez instalados tendremos que dar START.

4. Por ultimo tendremos que dirigirnos a:

C:\xampp\htdocs

Deberemos cambiar el nombre de los 2 archivos llamados index (index.php e index.html), debiendo quedar como se aprecia en la imagen.


De esta manera ya tenemos instalado XAMPP en Windows y podremos comenzar a programar.


INTALACIÓN DE APACHE, MYSQL, PHP Y PHPMyAdmin EN LINUX

En este caso, a diferencia de Windows, lo instalaremos de otra manera e instalaremos uno por uno los módulos para poder empezar a programar

INICIAMOS…

1. Debemos instalar APACHE para eso realizaremos el siguiente código en una terminal.

Código: Bash
  1. sudo apt-get install apache2

2. Instalaremos MySQL utilizando el código que dejare a continuación.

Código: Bash
  1. sudo apt-get install mysql-server mysql-common mysql-client

Nos aparecerá, la siguiente ventana, pidiéndonos una contraseña para ingresar a MySQL.

Le damos aceptar, y nos aparece una ventana similar pidiendo confirmación de la contraseña introducida, recuerden que debe ser fácil de recordar para poder emplearlas más adelante.


Si desean probar si MySQL fue instalado satisfactoriamente, solo deberemos escribir la siguiente línea en nuestra terminal.

Código: Bash
  1. mysql –u root -p

Y nos pedirá la contraseña, para después mostrarnos algo así:


Para salir de MySQL :

Código: Bash
  1. exit

3. Ahora debemos instalar el módulo de PHP:

Código: Bash
  1. sudo apt-get install php5 libapache2-mod-php5 php5-mysql

Una vez que el modulo se instaló correctamente deberemos ir a:
   
Equipo/var/www/html

Si intentamos crear una nueva carpeta o un nuevo archivo, veremos que no nos deja, para ello vamos a habilitar los permisos tipo Administrador que permitirá poder crear archivos para nuestros próximos proyectos.

Para otorgar permisos debemos realizar lo siguiente:

Código: Bash
  1. sudo chown nombre_de_tu_usuario:adm /var/www
  2. sudo chown nombre_de_tu_usuario:adm /var/www/html

Quedando así:


Para verificar si se otorgaron los permisos correspondientes, lo revisaremos con el siguiente código:

Código: Bash
  1. ls –l /var/
  2. ls –l /var/www


4. Por último, instalaremos PHPmyAdmin.

Código: Bash
  1. sudo apt-get install phpmyadmin

Durante la instalación nos aparecerá la siguiente ventana -preguntando que servidor tenemos instalado- y colocaremos Apache y damos aceptar.


Luego, nos pedirá crear una base de datos y le decimos que “SI”. Siguiendo con la instalación nos pedirá que introducir la contraseña creada para MySQL.


A continuación de haber colocado la misma pass de la base de datos, tendremos que colocar la misma para que no tengamos que crear otra y poder acordarnos fácil, en este caso será la usada en PHPmyAdmin.


Y damos aceptar teniendo ya instalado todo lo necesario.

5. Por último, debemos mover la carpeta instalada de PHPmyAdmin (ya que se instala en otra carpeta) y para moverla a donde nosotros la necesitamos debemos realizar el siguiente comando.

Código: Bash
  1. sudo ln –s /usr/share/phpmyadmin /var/www/html

6. Lo único que nos queda es ingresar al navegador, colocar localhost o 127.0.0.1 y empezar a programar


HORA DE EMPEZAR A CODEAR

Una vez que ya tenemos instalado en cualquiera de los 2 S.O. empezaremos a programar,  a partir de ahora el código que realizaremos es el mismo para ambos.


1.   Tendremos que crear una carpeta con el nombre de TALLERPHP en nuestro servidor
2.   Crearemos un formulario con nombre y apellido que serán enviado a otro archivo llamado recibir.php a través del método GET.


Este formulario deberá ser guardado con el nombre formulario.html


NOTAS:

Código: Text
  1. • Los formularios se crean con la etiquete <form> para la apertura y </form> para el cierre.
  2. • action: es el archivo encargado de recibir lo que se envía desde el formulario.
  3. • method: es el método que debemos emplear para enviar ya sea GET o POST.
  4. • input type=”text”: es una caja de texto. name: es el nombre de nuestro input que luego recogeremos en el registro.php
  5. • input type=”submit”: es un botón, name: es el nombre del mismo y value: es el texto que aparece dentro de nuestro botón, en este caso Enviar.

3. Ahora crearemos el archivo recibir.


NOTAS

Código: Text
  1. • Un código php se debe encontrar entre las etiquetes <?php  ?>
  2. • Una variable comienza con el signo $ seguido del nombre otorgado
  3. • Un variable debe comenzar con una letra o un guion bajo
  4. • Un nombre de variable NO PUEDE comenzar con un número
  5. • Un nombre de variable solo puede contener caracteres y guiones bajos alfanuméricos(AZ, 0-9 _)
  6. • Los nombres de variables distinguen entre mayúscula y minúsculas siendo $x y $X dos variables distintas.
  7. • $_GET o $_POST son los métodos para recibir en php y se deben escribir SIEMPRE EN MAYÚSCULAS.
  8. • echo: imprime un valor por pantalla.
  9. • un punto concatena (une).

4. Veamos el resultado abriendo nuestro navegador e introduciendo la dirección del servidor 127.0.0.1 y abrimos la carpeta del proyecto, haciendo click al archivo formulario.html


Tipeamos nuestro nombre y apellido y presionamos el botón Enviar y veremos los que recibimos del otro lado (recibir.php)


Como vemos, hemos recibido los datos perfectamente, pero hay algo que remarcar, ya que los datos que se enviaron  son visibles en la URL de la siguiente manera.


Y muchas veces no es seguro ya que pueden ser modificados, veamos cómo cambio el nombre en la URL, para lo cual presionando F5 se cambiará.



5. Editaremos el formulario.html y recibir.php cambiando el método por POST, quedando ambos de la siguiente manera:



6. Iremos nuevamente a nuestro navegador y lo actualizaremos para  enviar los datos.

Prestamos atención a nuestra URL, al presionar el botón de enviar y veremos como los datos se han enviado de forma oculta.


Haciendo más segura la información ya que no se puede modificar.

DIFERENCIAS





Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1921
  • Actividad:
    3.33%
  • Reputación 15
    • Ver Perfil
« Respuesta #1 en: Octubre 04, 2014, 07:10:39 pm »
Como siempre excelente, muy buen taller facufangio, espero con ansía las próximas entregas ^^

Por cierto, para los que sigan el tutorial, no os olvidéis del famoso (o similares)

Código: PHP
  1. htmlentities($variable);


Para que no hagan xss :D

Un saludo.
« Última modificación: Octubre 04, 2014, 07:23:47 pm por blackdrake »



Desconectado Expermicid

  • *
  • Underc0der
  • Mensajes: 457
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
    • Ver Perfil
  • Skype: expermicid.xd
« Respuesta #2 en: Octubre 04, 2014, 07:17:34 pm »
Felicidades por el taller facufangio!!!

Esperamos los siguientes números :)

Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 904
  • Actividad:
    0%
  • Reputación 18
    • Ver Perfil
    • Email
« Respuesta #3 en: Octubre 05, 2014, 12:15:45 am »


 Merecidas felicitaciones de todos.
 A ver la próxima entrega.

G.

Desconectado jbmm

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #4 en: Abril 28, 2017, 08:06:03 pm »
muy bueno el taller cuando se continuara con el Numero #4

saludos desde chile

Desconectado Stiuvert

  • *
  • Underc0der
  • Mensajes: 2676
  • Actividad:
    3.33%
  • Reputación 15
    • Ver Perfil
  • Skype: [email protected]
  • Twitter: @Stiuvert
« Respuesta #5 en: Abril 29, 2017, 09:39:53 am »
muy bueno el taller cuando se continuara con el Numero #4

saludos desde chile

El proyecto de los talleres hace mucho que terminó. Por lo tanto no van a seguir...

Por otro lado, entre los miembros del Staff hemos comentado en varias reuniones el seguir con un proyecto nuevo, diferente a los talleres. Se implementarían revistas de diferentes temas, tipo revistas HxC.

Un saludo

 

¿Te gustó el post? COMPARTILO!



Taller de pentesting con Kali Linux - Parte I

Iniciado por ANTRAX

Respuestas: 57
Vistas: 49696
Último mensaje Octubre 26, 2018, 11:01:57 am
por octopus
Taller de Pentesting con Kali Linux #2

Iniciado por ANTRAX

Respuestas: 32
Vistas: 30905
Último mensaje Noviembre 10, 2017, 07:40:18 am
por Brittsman97
Taller de Seguridad Wireless #2

Iniciado por ANTRAX

Respuestas: 9
Vistas: 11704
Último mensaje Mayo 26, 2015, 03:05:38 pm
por Mich
Taller de Seguridad Wireless #4

Iniciado por ANTRAX

Respuestas: 24
Vistas: 24575
Último mensaje Mayo 24, 2018, 03:06:03 am
por Vyper
Taller de Seguridad Wireless #1

Iniciado por ANTRAX

Respuestas: 25
Vistas: 25981
Último mensaje Abril 14, 2019, 02:50:29 pm
por iSauel