Foros del Web » Programando para Internet » PHP »

Seguridad PHP

Estas en el tema de Seguridad PHP en el foro de PHP en Foros del Web. Hola a todos, es sobre el tema de Seguridad en PHP, por ahí leí un articulo de Seguridad Básica http://www.forosdelweb.com/f18/aport...a-php-1011808/ , he rescatado algo sencillo ...
  #1 (permalink)  
Antiguo 18/10/2013, 04:19
Avatar de osaka80  
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 11 años, 11 meses
Puntos: 0
Seguridad PHP

Hola a todos, es sobre el tema de Seguridad en PHP, por ahí leí un articulo de Seguridad Básica http://www.forosdelweb.com/f18/aport...a-php-1011808/, he rescatado algo sencillo y mis mis dudas son:

- Mayormente donde realizamos un mayor control de seguridad, al enviar datos al servidor(es decir cualquier tipo de formulario)??
Algo que me a sido de utilidad es lo siguiente:
$cadena = $_POST['cadena'];
$cadena = mysqli_real_escape_string($cadena);

Con eso controlo evitar errores en una consulta SQL.

- Que otro tipo de seguridad debe tener una web, es decir tener un sistema básico para evitar posibles ataques.

Un Saludo
  #2 (permalink)  
Antiguo 18/10/2013, 05:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Seguridad PHP

Cita:
Con eso controlo evitar errores en una consulta SQL.
Con eso controlas la inyección de codigo no los errores en las consultas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 18/10/2013, 05:46
Avatar de osaka80  
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Seguridad PHP

Cita:
Iniciado por quimfv Ver Mensaje
Con eso controlas la inyección de codigo no los errores en las consultas.
Bueno eso, que me he liado al explicarlo
  #4 (permalink)  
Antiguo 18/10/2013, 06:46
Avatar de leonaryoel  
Fecha de Ingreso: octubre-2013
Ubicación: Villa Clara
Mensajes: 64
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Seguridad PHP

Es bien interesante este tema de la seguridad, a muchos nos hace falta más información sobre esto, por favor mantengas este tema actualizado
  #5 (permalink)  
Antiguo 18/10/2013, 09:03
Avatar de efedefernan  
Fecha de Ingreso: diciembre-2007
Ubicación: Cantabria
Mensajes: 91
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Seguridad PHP

Te recomiendo usar consultas parametrizadas. Evitarás todo tipo de inyección SQL.
Un saludo.
  #6 (permalink)  
Antiguo 18/10/2013, 09:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Seguridad PHP

eso solo sirve contra SQLInyection, además te recomiendo usar PDO con consultas preparadas.

temas de seguridad básicos a tener en cuenta:

XSS
CSRF
SQL Inyection
RFI (remote file inclusion)
Inyección de Uploads

entre otros
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 18/10/2013, 10:25
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Seguridad PHP

aqui puedes encontrar mucha informacion sobre vulnerabilidades y demas

http://www.forosdelweb.com/f18/seguridad-web-1004102/

con el codigo que pusiste te pueden colar un xss de escandalo
  #8 (permalink)  
Antiguo 18/10/2013, 13:51
Avatar de osaka80  
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Seguridad PHP

Cita:
Iniciado por webankenovi Ver Mensaje
aqui puedes encontrar mucha informacion sobre vulnerabilidades y demas

http://www.forosdelweb.com/f18/seguridad-web-1004102/

con el codigo que pusiste te pueden colar un xss de escandalo
Como que tipo , echare un vistazo a la info que me acabas de pasar.
  #9 (permalink)  
Antiguo 18/10/2013, 14:26
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Seguridad PHP

todo lo que provenga de un formulario tiene que estar validado y saneado

ejemplos
http://www.php.net/manual/es/filter.examples.php

digamos que si un dato solo puede ser numeros verificamos que la variable solo contenga numeros , igual con solo letras ,letras y numeros, direcciones email , passwords etc..... despues la escapamos o mejor aun usamos PDO y despues lo suyo seria encriptar los datos en la bd y desenciptarlos despues pero bueno eso ya es otro cuento

http://es1.php.net/manual/es/book.pdo.php
http://www.php.net/manual/es/book.ctype.php

y tambien puedes usar expresiones regulares

Última edición por webankenovi; 18/10/2013 a las 14:41
  #10 (permalink)  
Antiguo 18/10/2013, 15:07
Avatar de osaka80  
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Seguridad PHP

Cita:
Iniciado por webankenovi Ver Mensaje
todo lo que provenga de un formulario tiene que estar validado y saneado

ejemplos
http://www.php.net/manual/es/filter.examples.php

digamos que si un dato solo puede ser numeros verificamos que la variable solo contenga numeros , igual con solo letras ,letras y numeros, direcciones email , passwords etc..... despues la escapamos o mejor aun usamos PDO y despues lo suyo seria encriptar los datos en la bd y desenciptarlos despues pero bueno eso ya es otro cuento

http://es1.php.net/manual/es/book.pdo.php
http://www.php.net/manual/es/book.ctype.php

y tambien puedes usar expresiones regulares
Si eso es lo que realizo mediante un script de javascript, con ello controlo todo tipo de cosas, email sea válido, input que sea para letras o numeros,etc, el password lo encripto y despues de validar todo ello hago uso de esto:
$cadena = $_POST['cadena'];
$cadena = mysqli_real_escape_string($cadena);

para evitar que en variables que sean de texto no se cuelen caracteres, algo así como un control de inyección.
  #11 (permalink)  
Antiguo 18/10/2013, 15:10
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Seguridad PHP

bueno pero la validacion con javascript puede ser que se la salten , esta bien que verifiques en javascript en el lado del cliente pero tambien has de hacerlo en el servidor cuando los datos lleguen ,es mas importante validar en el servidor que en el cliente ..

mas bien que un control de inyeccion sera un control de validacion

Última edición por webankenovi; 18/10/2013 a las 15:22
  #12 (permalink)  
Antiguo 18/10/2013, 16:15
Avatar de osaka80  
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Seguridad PHP

Cita:
Iniciado por webankenovi Ver Mensaje
bueno pero la validacion con javascript puede ser que se la salten , esta bien que verifiques en javascript en el lado del cliente pero tambien has de hacerlo en el servidor cuando los datos lleguen ,es mas importante validar en el servidor que en el cliente ..

mas bien que un control de inyeccion sera un control de validacion
Esto me a dejado un poco descolado, como que se salten la verificación javascript del lado del cliente, como sería validar del lado del server, un ejemplo minimo por favor.

Muchas Gracias
  #13 (permalink)  
Antiguo 18/10/2013, 16:21
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Seguridad PHP

imaginemos que en un formulario un campo donde solo queramos que introduzcan letras y numero

Código PHP:
Ver original
  1. $text = 'jnth)js7d.ys78';
  2.  
  3. if(ctype_alnum (  $text )){
  4.  
  5. echo $text.' es alfanumerica';
  6.  
  7. }else{
  8.  
  9. echo $text.' no es alfanumerica';
  10.  
  11. }

Etiquetas: formulario, mysql, seguridad, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:05.