Foros del Web » Programando para Internet » PHP »

restringir mis scripts php

Estas en el tema de restringir mis scripts php en el foro de PHP en Foros del Web. Hola tengo un problema, espero me puedan ayudar por favor. Necesito saber como hacer que mis scripts php solo puedan ser llamados por paginas o ...
  #1 (permalink)  
Antiguo 07/02/2011, 16:49
Avatar de solitario917  
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 0
Busqueda restringir mis scripts php

Hola tengo un problema, espero me puedan ayudar por favor.

Necesito saber como hacer que mis scripts php solo puedan ser llamados por paginas o scripts que pertenercan al mismo dominio.

En mi sitio tengo un apartado contacto.php al que puede acceder cualquier usuario que necesite contactarse, para poder enviar mensaje es necesario llenar minimo algunos campos obligatorios, y al pulsar enviar se manda a llamar un script enviar_correo.php el cual se le pasan lo datos y mensaje que el usuario enviara, hasta alli todo bien pero...

Me han llegado mensajes vacios y eso no es posible porque el formulario en contacto.php siempre se valida antes de poder enviar el mensaje.

Al parecer alguien se ha montado un servidor local y se ha copiado mi archivo contacto.php y ha echo modificaciones como por ej. quitar la validacion y me envia a cada rato mensajes vacios...

He aplicado eso de sesiones, es decir al abrir contacto.php verdadero(el que esta en mi dominio) inicio una sesion... e igual si se accede directamente via url en el navegador a mi script enviar_correo.php redireccionar a contacto.php

Pero parece que mi atacante primero abre el contacto.php original el cual establece una sesion, y con la sesion abierta ejecuta el archivo contacto.php de su server local y asi creo yo que me envian esos correos vacios.

Hasta ahora no he hallado solucion alguna y me siguen llegando correos vacios.

Necesito saber como envitar que alguien llame desde su servidor local a mi script php que tengo en mi dominio, o como comprobar desde mi script cuando es llamado por un archivo externo a mi sitio, y en caso de que fuera asi saber quien y desde donde me envian esos correos vacios.

bueno eso es todo.. espero sus respuestas, gracias.
pda: me acabo de registrar asi q aun nose usar bien el editor de texto por eso no puse caritas y cosas por el stilo en mi post je.
  #2 (permalink)  
Antiguo 07/02/2011, 16:58
pamda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: restringir mis scripts php

podrias empezar viendo tus estadisticas dfe tu dominio, y otro punto es cambiar el nombre de tu archivo incluyendo la ubicacion (la carpeta).
otra alternativa podria ser controlar en tu index.php los modulos que tienes habilitados.
una manera sencilla, y algo extraño si alguien conoce la estructura de tu site, esto al menos que le hayas dejado a alguien camino libre a tu hosting.
  #3 (permalink)  
Antiguo 07/02/2011, 17:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: restringir mis scripts php

Creo que esto te puede servir http://www.captcha.net/
__________________
Saludos.
  #4 (permalink)  
Antiguo 07/02/2011, 17:11
pamda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: restringir mis scripts php

Cita:
Iniciado por JaimeSavines Ver Mensaje
Creo que esto te puede servir http://www.captcha.net/
Es otra alternativa, pero no muy fiable... por que el men esta diciendo que hay un tercero que hace uso de su archivo ¿? cosa que me parece algo ilogico al menos que alguien se le haya colado en su hosting o haya copiado el proyecto de alguien,

podria seguir haciendo uso de su archivo mediante script de reconocimiento de captchas...
  #5 (permalink)  
Antiguo 07/02/2011, 17:35
Avatar de solitario917  
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: restringir mis scripts php

Exacto pamda... lo que yo kiero es que nadien pueda mandar a llamar mis scripts que se encuentran alojados en mi dominio, sin importar que se sepan la estructura de mi sitio.

Alguna forma debe haber para que, nose quizas le aparezca a ese malevolo un mensaje como "acceso denegado a este archivo" o algo asi.

o talvez haya una forma de detectar en el script mismo llamado,y este responda algo como "oohhh me estan llamando... pero no desde el sitio donde me encuentro.. asi q no me ejecutare".. XD
  #6 (permalink)  
Antiguo 07/02/2011, 22:23
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: restringir mis scripts php

Como validas el formulario?
__________________
I see dead pixels
  #7 (permalink)  
Antiguo 09/02/2011, 13:13
Avatar de solitario917  
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: restringir mis scripts php

Perdon... me ausente por un momento..

El formulario lo valido mediante javascript, evitando enviar campos vacios al llamar el script enviar_correo.php declarado en el atributo action="enviar_correo.php" del formulario, la llamada a la funcion que valida tambien la he declarado en el evento onsubmit="return validar()" del formulario..

aahh!! al cargar el formulario contacto.php inicio una sesion, y al llamar al script enviar_correo.php verifico que esa sesion exista, y sino existe quiere decir que fue llamado de un formulario falso, es decir del server del maldoso o que fue llamado directamente mediante su url, con lo cual redirige al formulario verdadero... y si existe la sesion verifica que tenga el valor valido la variable de sesion.

saben... lo que me imagino que hace esta malevolo es como les habia comentado antes...
abre primero el formulario verdadero con lo cual como les comento se inicia una sesion y con la sesion establecida.. echa a andar su server local y ejecuta el form falso que permite enviar campos vacios..

una duda.. segun yo tengo entendido que cuando se establece una sesion con php, se establece en el modo servidor-pc, y no de servidor-pagina_servida, o estoy equivocado??

xq si es servidor-pagina_servida entonces no habria forma de que una pagina (script php) en un server local pueda hacer mal uso de una sesion establecida con una pagina (contacto.php) verdadera para hacer mal uso de los scripts en un dominio.

pero bueno.. aun sigo echo bolas
  #8 (permalink)  
Antiguo 09/02/2011, 16:28
Avatar de solitario917  
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: restringir mis scripts php

Oigan encontre algo sobre una variable $_SERVER["HTTP_REFERER"], claro y tambien me dieron una despejada sobre el mismo.. la variable almacena la url de la pagina desde la cual es referenciada un script.. por lo cual al ser llamado uno de nuestros script php ,dentro de este podremos saber desde que archivo o desde donde fue llamado, con solo esta variable.. y detectando si fue llamado desde fuera... denegar el acceso o simplemente no ejecutar dicho script.

bueno creo k esa esa una opcion para la solucion de mi problema... xq con eso de las sessiones no creo k se pueda resolver...

bueno.. eso es todo mis queridos camaradas... que se la pasen chido y sigan ayudando todo mundo...

Nos vemos.
  #9 (permalink)  
Antiguo 09/02/2011, 20:39
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: restringir mis scripts php

Los mensajes te llegan por que solo validas mediante javascript. Nunca confies en tus usuarios, y menos dejes de validar en el cliente y en el server.

Busca en el manual de php sobre las funciones para filtrar los datos.

Saludos.
__________________
I see dead pixels
  #10 (permalink)  
Antiguo 10/02/2011, 18:02
Avatar de solitario917  
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: restringir mis scripts php

Hi.. tendre muy en cuenta tus consejos SergeMedina... yo solo validaba en lado cliente... pero creo k tienes razon... hay que validad tanto en el lado cliente como en el server... nos vemos
  #11 (permalink)  
Antiguo 10/02/2011, 18:19
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: restringir mis scripts php

Cita:
Iniciado por SergeMedina Ver Mensaje
Los mensajes te llegan por que solo validas mediante javascript. Nunca confies en tus usuarios, y menos dejes de validar en el cliente y en el server.

Busca en el manual de php sobre las funciones para [URL="http://www.php.net/manual/en/book.filter.php"]filtrar los datos[/URL].

Saludos.
Totalmente de acuerdo con usted.

Saltarse la validación por el lado del cliente es bastante sencillo.
Una de ellas es enviar la petición directamente (sin cargar el HTML [muchos usan fuerza bruta junto con este método]) e incluso editar el código de la pagina (todos los navegadores te proporcionan un inspector de código que facilita la tarea).

Y otras formas un poco mas oscuras.
  #12 (permalink)  
Antiguo 19/02/2011, 07:55
pamda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: restringir mis scripts php

Por algo nunca confie en el Javascript..! ;(
el tema esta en que tu aplicacion funcione tal cual la planeaste, y no que por una simple intervencion del usuario cambie el funcionamiento, utilizar Javascript ahorra algo en algunas cosas, pero en el tema de seguridad y validaciones hay que hacer siempre un doble trabajo en el cliente y en el servidor. Hay opciones para deshabilitar tu Javascript..

Etiquetas: restringir, scripts
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 17:31.