Comunidad de diseño web y desarrollo en internet online

Prohibir envio de datos POST desde otros servidores

Citar            
MensajeEscrito el 23 May 2011 03:44 pm
Hola que tal a todos. Tengo una inquietud:

Alguien sabe como prohibir el envio de datos POST desde otro servidor que no sea el mismo?

Estoy programando un website y no quiero que a mi archivo PHP envien datos desde formularios subidos en otras paginas con el objetivo de hacer SQL injection o saturar mi base de datos.

Agradecería me confirmaran si hay forma de prohibirle el acceso de envío de información a otros servidores. Gracias.

Por johnwmartinez

Claber

455 de clabLevel

5 tutoriales

Genero:Masculino  

Diseño, Desarrollo, Mercadeo

chrome
Citar            
MensajeEscrito el 23 May 2011 03:54 pm
siempre puedes obtener la dirección desde la que se envian los post, en caso de que sea tu sitio aceptas el paquete y continuas, sino no hagas nada y ya

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 23 May 2011 04:21 pm
creo que con apache se podia configurar eso seria que bsucaques sobre configuracion de apache con metodos post, ahora otra opcion es, que uses tokens osea un campo oculto que contenga algun generador de numeros o algo asi algo que se genere desde tus formularios, para controlar eso puedes usar sessiones o cookies pero la mejor opcion creo que son las sessiones, eso de los tokens tambien sirven para evitar hacer acciones automaticas por ejemplo con el refresco de paginas o si el uso administrativo de algunas acciones por metodo GET bueno depende de en que forma estras trabajando , y segun a eso adaptas lo que dije

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 May 2011 04:41 pm
La solución de tribak aunque no es 100% efectiva, funciona en la mayoría de los casos.

Código PHP :

function SameHost() {
  return trim(parse_url("http://".$_SERVER['HTTP_HOST']."/";, PHP_URL_HOST)) == trim(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST));
}

if (!SameHost()) { echo "Sigue participando!, hay grandes premios :)"; }


Debes tener PHP 5.1 o superior.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.