Foros del Web » Programando para Internet » PHP »

Seguridad en la web

Estas en el tema de Seguridad en la web en el foro de PHP en Foros del Web. Hola, He terminado de desarrollar un carrito de compra y me han recomendado un programa para ver la seguridad de esta web, me dice que ...
  #1 (permalink)  
Antiguo 24/02/2009, 05:59
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 2 meses
Puntos: 0
Seguridad en la web

Hola,

He terminado de desarrollar un carrito de compra y me han recomendado un programa para ver la seguridad de esta web, me dice que la seguridad es 'media'. Necesito que me digan sugerencias o manuales para aumentar su seguridad.

He visto algo del sql inject pero no he implementado nada, esto como de importante es? es que ahora que la navegación esta activa todas las consultas terminadas, etc, no se como limpiar esas consultas...Un poco tarde para pensar en eso.

O que metodos hay para aumentar la seguridad en mi web?? supongo que dependaran factores como servidor, proveedor de servicios, etc...

Os adelanto que tengo contratado un VPS en Arsys, un plan premium y que utilizo php + mysql.

Gracias por las sugerencias que puedan aportar.

Un saludo.
  #2 (permalink)  
Antiguo 24/02/2009, 06:05
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Respuesta: Seguridad en la web

Puedes buscarlo con google, pero básicamente y entre otras puedes tener varias fallas de seguridad, echa un vistazo a esto:

http://www.tufuncion.com/php_seguridad_I
  #3 (permalink)  
Antiguo 24/02/2009, 06:08
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seguridad en la web

Hola. Tengo casi tu mismo problema. Mi web esta en hostgator y alli tengo opcion de poner contraseña a algunas carpetas, el problema es que cuando pongo contra a un folderdel public_html por citar un ej, luego en el navegador le pide al usuario contra y usuario, un lio.
No se como hacer para que a traves del navegador no se vea lo que no debe verse.
lo del htacces creo k no funcionaria pork si protejes un directorio, entonces los usuarios de tu web no podran verlo,,,ya no se que hacer, hago mil preguntas en este foro y nadie sabe o contesta.
He visto muchas webs que cuando intentas acceder por ej: al midominio/framework te redirecciona a la portada y asi con cualquier carpeta.
La pagina mia de momento si entras asi, te muestra las carpetas y puedes cogerlas , lo k me parece un peligro bien gordo.

Si encuentro algo, te aviso, y tu al igual a mi porfis.
Gracias.
  #4 (permalink)  
Antiguo 24/02/2009, 06:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seguridad en la web

ok, ya le he estado echando un vistazo, por lo que comentan la unica manera de atacar a las bases de datos seria mediante campos de input de formulario al para hacer busquedas o para identificarse.

En mi caso tendria que llevar cuidado con la identificacion de usuarios y proteger mejor el panel de administracion no?

Podrian ejecutar alguna modificacion de la base de datos por la url???

Es decir si seleccionan index.php?cat=1 en la consulta listo todos los articulos pertenecientes a $_GET['cat'], esto es peligroso???
  #5 (permalink)  
Antiguo 24/02/2009, 06:34
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Respuesta: Seguridad en la web

Si, y es un problema que yo tuve con mi web hace poco, un ejemplo sencillo sería el siguiente:

Tenemos un perfil de usuario el cual se puede editar y es al estilo de midomino.php?nick=nickdelusuario si no comprobamos que la sesion es igual a la variable get nick cualquiera que ponga esa url podrá editar el perfil del usuario, por tanto tenemos que hacer un if(sesion==variableget) con esto resuelves este problema.

Saludos
  #6 (permalink)  
Antiguo 24/02/2009, 06:42
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seguridad en la web

Gracias karlic0s por la respuesta, pero los usuarios en mi caso cuando se identifican se actualiza la sesion insertando el id del usuario, por lo que los perfines por url se acceden por url mediante dominio.com/profile pero el id del usuario lo capto de la session activa.
  #7 (permalink)  
Antiguo 24/02/2009, 08:06
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Seguridad en la web

mmm lo ideal el en inicio de sesion seria enviar los datos por post y no get...

Respecto a el sql inyection: es super importante por que si permites el ingreso de caracteres especiales, como comillas, un atacantes puede ingresar ciertas palabras de manera que modifiquen la consulta que realizas con ese atributo, pudiendo asi obtener claves de administracion entre otros.

Para eso lo ideal seria formatear las cosas que pasas a traves de los inputs, para eso yo uso la siguiente funcion:

Código PHP:
//funcion que protege el paso de valores anormales por los formularios
//para evitar inyeccion sql
function protect($string){

    
$string mysql_real_escape_string($string);
    
$string strip_tags($string);
    
$string addslashes($string);    
    
    return 
$string;

La manera de usarlo seria (suponiendo que se envio un formulario mediante POST)
Código PHP:

if(isset($_POST['send'])){

  
$param1 protect($_POST['param1']);


-----------------------------

Con relacion al acceso a las carpetas, puedes intentar colocar un archivo index.html dentro de las carpetas que tengas para evitar el accedo, y puedes tambien añadir codigo para que se edireccione al entrar...

Por ejemplo: supongamos qie tienes una carpeta "images" llena de imagenes y no queres que entren directo. ENtonces agregar el siguiente html

index.html
Código PHP:

<html>
<
head>
</
head>
<
body onLoad="document.location='http://www.dominio.com/index.php'">
</
body>
</
html
Tambien hay unos codios para realizarlos desde las head



Espeor servir de aporte
Saludos a todos
  #8 (permalink)  
Antiguo 24/02/2009, 08:18
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Seguridad en la web

Cita:
Iniciado por bLEx Ver Mensaje
Código PHP:
//funcion que protege el paso de valores anormales por los formularios
//para evitar inyeccion sql
function protect($string){

    
$string mysql_real_escape_string($string);
    
$string strip_tags($string);
    
$string addslashes($string);    
    
    return 
$string;

eso esta mal pq de esa forma te quedarian escapadas dos veces los caracteres "raros"

por ejemplo la cadena al'go te quedaria en al\\\'go
el addslashes estaria de mas

con esto sobra

Código PHP:
function protect($string){
    return 
mysql_real_escape_string(strip_tags($string));

obviamente tiene q haber una conexion de mysql iniciada previamente

__________________
Degiovanni Emilio
developtus.com
  #9 (permalink)  
Antiguo 24/02/2009, 08:44
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Seguridad en la web

^^ gracias

Es mi tendencia sobreprotectora xD
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 14:52.