Foros del Web » Programando para Internet » PHP »

Validación de Formularios

Estas en el tema de Validación de Formularios en el foro de PHP en Foros del Web. Hola a todos Tengo una duda acerca de la validación en formularios Como validar cuando un formulario viene de mi web? Antes de ingresar al ...
  #1 (permalink)  
Antiguo 03/12/2015, 15:41
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Pregunta Validación de Formularios

Hola a todos
Tengo una duda acerca de la validación en formularios
Como validar cuando un formulario viene de mi web?
Antes de ingresar al foro, estuve investigando, y no me ha quedado muy claro
(token, sesiones, variable http_reference)
Les agradecería mucho su ayuda
  #2 (permalink)  
Antiguo 03/12/2015, 16:02
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Validación de Formularios

a que te refieres con que viene de tu web ?
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #3 (permalink)  
Antiguo 03/12/2015, 16:09
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Validación de Formularios

Gracias por la pronta respuesta!
Por ejemplo, yo tengo mi sitio sitio.com
Para loguearme, ocupo un formulario con el action apuntando a sitio.com/login
Pero si yo estoy en otro sitio (otrositio.com) que al igual tiene un formulario, si cambio el action apuntando a sitio.com, me loguea de forma correcta, esto supongo no debería ser así (aunque te soy sincero no entiendo el porque :P )
  #4 (permalink)  
Antiguo 03/12/2015, 16:32
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Validación de Formularios

no estoy muy seguro pero mira esto creo que te puede ayudar , si no pues ya veremos que hacer

http://php.net/manual/es/features.http-auth.php
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #5 (permalink)  
Antiguo 03/12/2015, 18:23
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Validación de Formularios

Gracias amigo, pero creo q no va por ahí el asunto.
Perdon, creo que no fui muy especifico al inicio
Digamos que yo tengo en www.misitio.com el formulario:

Código HTML:
<form action="login.php">
<input type="text" name="email">
<input type="pass" name="pass">
<button type="submit">Login</button>
</form> 
Y en mi archivo login.php:

Código PHP:
$user $_POST['email'];
$pass $_POST['pass'];
/*Se hace el proceso de login */ 
Entonces, yo hice la prueba, por ejemplo, desde el formulario de Login de facebook, cambio el atributo 'action' del formulario para que apunte a "www.misitio.com/login.php"; y al enviar el formulario, me loguea en misitio.com...
esto lo quise hacer visceversa (loguearme a facebook desde www.misitio.com) y obviamente... no me deja hacer loguin en facebook.

Como había comentado, ya estuve leyendo, pero no me queda del todo claro
A lo más que llegue fue realizar el token (y su session) para validar, pero a final d cuenta es un parámetro más q se puede manipular

Espero haberme dado a entender un poco más (puesto q estoy algo confundido )
Nuevamente gracias
  #6 (permalink)  
Antiguo 04/12/2015, 12:10
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Validación de Formularios

no estoy seguro que esta sea la forma correcta de hacerlo pero creo que puede servir

me cuentas

Código PHP:
Ver original
  1. if(isset($_POST['oculto']) and $_POST['oculto']== "ok"){
  2.     $url = $url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
  3.     if(isset($url) && $url = "colacar la url de tu sitio"){
  4.         echo "dan click desde la url correcta";
  5.     }else{
  6.         echo "no estan mandando los datos desde la url correcta , no me ejecutare";
  7.     }
  8. }
  9. ?>

Código HTML:
Ver original
  1. <form action="" method="POST">
  2.     user
  3.     <input type="text" name="nombre">
  4.     password
  5.     <input type="password" name="pass">
  6.     <input type="hidden" name="oculto" value="ok">
  7.     <input type="submit" value="Login">
  8. </form>

si te funciona me dices y si no pues le seguimos buscamos la solución aunque estoy seguro que ahi si funcionara , no importando de que web envíen.\
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #7 (permalink)  
Antiguo 04/12/2015, 12:38
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Validación de Formularios

Gracias amigo, me has dado otra opción.
Yo había intentado ésta otra forma:

$url_mater = "www.misitio.com";

Código PHP:
Ver original
  1. if(isset($_SERVER['HTTP_REFERER'])):
  2.     $http_referer = $_SERVER['HTTP_REFERER'];
  3.     $referer = parse_url($http_referer,PHP_URL_HOST);
  4.     if($referer != $url_master){
  5.             //Redirecciono al sitio de donde están haciendo la petición    
  6.             header('Location: '.$referer);
  7.         }else{
  8.             //ejecuto mi script
  9.         }
  10. else:
  11.    //No ejecuto nada
  12. endif;

El detalle es que leí que no era nada aconsejable hacer este tipo de validación (con la variable $_SERVER['HTTP_REFERER'] ), ya que algunos navegadores no la envían de forma correcta, incluso encontré que también es una variable "fácil" de editar, p.e mediante plugins de firefox

Sabes que tan fiable es usar las variables que me sugieres??
Y aprovechando, que tan peligroso sería que alguien pueda hacer un loguin desde "x" sitio a "misitio"
Nuevamente, gracias por tus respuestas
  #8 (permalink)  
Antiguo 04/12/2015, 12:58
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Validación de Formularios

Cita:
Iniciado por herzbazi Ver Mensaje
no estoy seguro que esta sea la forma correcta de hacerlo pero creo que puede servir

me cuentas

Código PHP:
Ver original
  1. if(isset($_POST['oculto']) and $_POST['oculto']== "ok"){
  2.     $url = $url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
  3.     if(isset($url) && $url = "colacar la url de tu sitio"){
  4.         echo "dan click desde la url correcta";
  5.     }else{
  6.         echo "no estan mandando los datos desde la url correcta , no me ejecutare";
  7.     }
  8. }
  9. ?>

Código HTML:
Ver original
  1. <form action="" method="POST">
  2.     user
  3.     <input type="text" name="nombre">
  4.     password
  5.     <input type="password" name="pass">
  6.     <input type="hidden" name="oculto" value="ok">
  7.     <input type="submit" value="Login">
  8. </form>

si te funciona me dices y si no pues le seguimos buscamos la solución aunque estoy seguro que ahi si funcionara , no importando de que web envíen.\
son seguras
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #9 (permalink)  
Antiguo 04/12/2015, 13:32
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Validación de Formularios

Ya hice una prueba amigo, y te cuento,
existe un inconveniente,
las variables que me comentas se cargan al acceder al archivo, en este caso "login.php"
entonces, cuando yo hago login desde mi web, imprimo la variable url
Código PHP:
Ver original
  1. $url = $url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];

y me imprime http://www.misitio.com:80/index.php

y al hacer la misma prueba (loguin desde otro sitio)
me imprime lo mismo : http://www.misitio.com:80/index.php
  #10 (permalink)  
Antiguo 04/12/2015, 16:05
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Validación de Formularios

es que eso esta claro, el $url = te toma el valor de la url que tienes y despues ese valor lo comparas con la url estatica que manejas en tu caso no se cual se pero si pones por ejemplo www.miweb.com y la $url que esta tomando es de www.estaesmiweb.com entonces no lo hará no se si me explico

entonces si intentas hacer login desde otra web no te permitira.

tienes hosting?

si no tienes te presto dos hosting para que compruebes y veras lo que digo
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #11 (permalink)  
Antiguo 04/12/2015, 16:53
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Validación de Formularios

No tengo hosting personal amigo :( , lo siento
Si me haces favor te lo agradecería, porque de verdad que a mi me aparece la misma url, acceda desde www.misitio.com o desde www.facebook.com, siempre me imprime: http://www.misitio.com:80/index.php

Etiquetas: formulario, formularios, variable
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 13:55.