2012-01-17 41 views
9

que tienen reglas en mi .htaccess para las páginas, mostrar una identificación de propiedad, etc ...parámetros Validar URL en php

quiero para asegurarse de que puedo validar todos los parámetros llego a la consulta im derecho conseguir.

tengo:

RewriteRule ^(.*)$ page.php?page=$1 
RewriteRule ^property/(.*)$ property.php?pid=$1 

así que en mi php yo:

$page = $_GET['page']; 

y

$propertyid = $_GET['pid']; 

ahora tengo que asegurarlas, pero me gustaría saber cuál es el método mejor usar para asegurar esto y es donde me perdí.

+0

$ _GET [ 'page'] = numérico y solo cartas? $ _GET ['pid'] ¿es numérico solamente? –

+3

esta pregunta está por todos lados. 1) ¿qué tiene esto que ver con el SEO? 2) ¿qué quiere decir con "validar" y/o "seguro"? – helloandre

+0

sí solo me dan numérico y letras de página y numérico para pid –

Respuesta

15

yo diría utilizar estas reglas:

RewriteRule ^([a-z0-9]+)/?$ page.php?page=$1 [L,NC] 
RewriteRule ^property/([0-9]+)/?$ property.php?pid=$1 [L,NC] 

esta manera si alguien entra cualquier carácter que no sean letras y números (para páginas) y números (para propiedad) wil Muestro una página no encontrada.

Si desea realmente para estar seguro, puede

$page = mysql_real_escape_string($_GET['page']); sólo asegúrese de que la conexión a la base de datos está abierta y se puede emitir el pid como $propertyid = (int)$_GET['pid'];

0

creo que con el parámetro de página debe tener una lista de páginas acept, a continuación, después de conseguir 'página', que compruebe si 'página' se encuentra en la lista de aceptar. Por ejemplo:

$arr_pages = ('page1','page2','page3'); 
$page = $_GET['page']; 
if(in_array($page,$arr_pages)) 
{ 
// do some thing 
} 
else 
{ 
// page not found 
} 

Y Identificación:

$propertyid = intval($_GET['pid']); 

esperanza esta ayuda :)