PHP - Problema con PHP! extraer POST o GET

   
Vista:

Problema con PHP! extraer POST o GET

Publicado por guillermo (1 intervención) el 08/07/2008 04:39:05
Bueno, les comento tengo el problema cambie mi WEB a un nuevo hosting donde se usa cPanel, y en el Host antiguo tambien, ahora he emigrado la web de un servidor a otro y todo va bien , menos el admin.

El problema que tengo esque no me loguea y no agrega nada desde el admin:s no se porque, pero bien lo de logeo en el admin se ha arreglado poniendo esta variable...

extract($_POST); extract($_GET);

Pero ahun asi, no pone nada como son NOTICIAS, VIDEOS, FOTOS, AFILIADOS, nada de eso :s ahun poniendo esa variable segùn mi programador me dice que se debe por que
dependiendo del servidor con el que trabajes (la configuración del php de éste) extrae o no las variables mediante los métodos GET y POST. Esto es, mi programación está escrita para un servidor don de se extraigan , si por ejemplo mandamos una variable por GET (el GET es cuando se escribe en la propia url de la página "pagina.php?variable=1").

Pero en el servidor en el que estoy ahora hay que coger esa variable vale con poner $variable y otro que requieren poner $_GET[variable].
Para poder solventar el problema sin la necesidad de volver a escribir todo el código de la segunda de las formas existe una función, extract();

Pero ahun asi con esa variable que puse extract no me funciona lo de agregar contenidos.

Que mas podria hacer? Pago por resolverlo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: Problema con PHP! extraer POST o GET

Publicado por Diego Romero (1450 intervenciones) el 08/07/2008 05:37:12
No entiendo qué es lo que dices que funciona y qué es lo que dices que no funciona.

Desde ya que extract($_GET) es *muy mala idea* porque supone un riesgo de seguridad enorme al permitir sobreescribir variables que no están relacionadas con $_GET.

Para ejemplificar por qué:
Supongamos que en el código tienes una línea como esta:

if ($logged == TRUE) { (ir a la parte privada de mi web) }

Un usuario podría hacer esto:

http://www.example.com/miscript.php?logged=TRUE

y extract($_GET) sobreescribiría la variable $logged con el valor pasado en la URL permitiéndole ingresar a ese usuario a un lugar donde no debería.

Lo correcto es hacer esto:

$variable = @$_GET["variable"];

Y así con todas las variables esperadas mediante GET (¡y POST!). Salvo que el servidor que comentas esté usando una versión muy vieja de PHP estoy seguro que así funcionará en ese servidor y en cualquier otro sin importar cómo esté configurado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar