Autor Tema: $_SERVER['PHP_SELF'] (Seguro)  (Leído 1719 veces)

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
$_SERVER['PHP_SELF'] (Seguro)
« en: 14 de Octubre de 2009, 20:37:37 pm »
¡He leido que es inseguro!

¿Cómo o que función podría usar para escribir en el action de un form de tal manera que sea seguro?

Agradezco de antemano su colaboración-.

Saludos-.
¡Solo sé, que nada sé...!

Comunidad PHPeros

$_SERVER['PHP_SELF'] (Seguro)
« en: 14 de Octubre de 2009, 20:37:37 pm »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #1 en: 14 de Octubre de 2009, 20:38:54 pm »
creo k poniendo htmlspecialchars($_SERVER['PHP_SELF']); esta arreglado

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #2 en: 14 de Octubre de 2009, 20:40:24 pm »
creo k poniendo htmlspecialchars($_SERVER['PHP_SELF']); esta arreglado

Muchas gracias. :D

¿Alguna otra sugerencia?

Saludos
¡Solo sé, que nada sé...!

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #3 en: 14 de Octubre de 2009, 20:51:08 pm »
tambien es mas sencillo usar $_SERVER['SCRIPT_NAME']
Tambien hay alguna variable que devuelve la URL completa y esto, puedes ver todas usando:
<?php
foreach($_SERVER as $nombre => $valor) {
echo '$_SERVER[\''.$nombre.'\'] => '.$valor.'<br>';
}
?>

Salu2.

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #4 en: 14 de Octubre de 2009, 20:53:55 pm »
a $_SERVER['SCRIPT_NAME'] no es necesario ponerle htmlspecialchars() verdad?

Saludos
¡Solo sé, que nada sé...!

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #5 en: 14 de Octubre de 2009, 21:13:24 pm »
no, k yo halla visto

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #6 en: 14 de Octubre de 2009, 21:40:59 pm »
tambien es mas sencillo usar $_SERVER['SCRIPT_NAME']
Tambien hay alguna variable que devuelve la URL completa y esto, puedes ver todas usando:
<?php
foreach($_SERVER as $nombre => $valor) {
echo '$_SERVER[\''.$nombre.'\'] => '.$valor.'<br>';
}
?>

Salu2.
West, ¿Pordrías explicar ese codigo que haz usado para saber el resultado de la variable $_SERVER?
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #7 en: 15 de Octubre de 2009, 16:18:18 pm »
en realidad me e complicado la vida bastante xD
eso lo un foreach, la primera variable ($_SERVER) es la variable (que debe ser array) que sera recorrida por el foreach.
as $otravariable es la variable donde se guarda el valor de ese "elemento" del array, al añadir => $otravar2 pasa aguardarse hay el valor, y en $otravariable el nombre de la llave ($array['LLAVE']).

Es un lio foreach, y lo e puesto sencillamente para que sea facil de entender al mostrarse, ya que mostraria:

$_SERVER['algo'] => 'valor'
$_SERVER['algo2'] => '...'

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #8 en: 15 de Octubre de 2009, 21:42:03 pm »
Yo se usar foreach, lo que no entendi fue la parte de => 'valor', Me explicas esa parte mejor.  :-[

Y gracias de antemano.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #9 en: 15 de Octubre de 2009, 21:46:57 pm »
uffff.
a ver, si sabes foreach sabes que si tienes:
$array = array('hola', 'adios');
foreach($array as $a) {
echo $a;
}
saldra hola y adios.

Pero si el array es asi (CREO k es un array ASOCIATIVO):
$array = array('saludo' => 'hola', 'despedida' => 'adios');

abria que usar esto:
foreach($array as $llave => $valor) {
lo que hace es almacenar la llave y el valor de ella, es decir $llave seria 'saludo' y $valor 'hola'

No se si me explique bien

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #10 en: 26 de Octubre de 2009, 22:38:09 pm »
Bueno creo que en el codigo que tu hiciste no es necesario el $valor, ya que puede ser:
Citar
<?php
foreach($_SERVER as $nombre) {
echo '$_SERVER[\''.$nombre.'\'] => '.$nombre.'<br>';
}
?>

Estoy en lo cierto?, ya que me imagino que $nombre es igual a todos los valores de $_SERVER(PHP_SELF,REMOTE_ADDR,etc..) entonces el $valor seria innecesario, west corrigeme si estoy en lo errado.
« Última modificación: 26 de Octubre de 2009, 22:41:50 pm por Focux »
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #11 en: 27 de Octubre de 2009, 17:15:15 pm »
piensa, si resulta que $_SERVER[$nombre] = $nombre me estas diciendo que el nombre es igual al valor, es decir:
$_SERVER['REMOTE_ADDR'] = REMOTE_ADDR
$_SERVER['PHP_SELF'] = PHP_SELF

etc...

Desconectado Tope

  • PHPero Experto
  • *****
  • Mensajes: 540
  • Karma: 23
  • Sexo: Masculino
  • Programador PHP
    • Ver Perfil
    • www.Info-Keko.Es
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #12 en: 27 de Octubre de 2009, 17:34:06 pm »
No os desvieís, porque entonces me pongo yo a dar la tabarra un rato con los arrays.

Para no pelearse, usad

<?php
echo "<pre>";
print_r($_SERVER);
echo 
"</pre>";
?>
Un Saludo, Tope >> Programador FIJO en PHPeros

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #13 en: 27 de Octubre de 2009, 18:31:22 pm »
No os desvieís, porque entonces me pongo yo a dar la tabarra un rato con los arrays.

Para no pelearse, usad

<?php
echo "<pre>";
print_r($_SERVER);
echo 
"</pre>";
?>


Que peleas ni que leches??

Y obvio eso es mas sencillo, pero menos organizado y mas dificil de entender para quien no sepa

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:$_SERVER['PHP_SELF'] (Seguro)
« Respuesta #14 en: 27 de Octubre de 2009, 18:50:43 pm »
Hola,

No entiendo por qué hacéis un mundo de lo que es tan fácil.
Si no sabéis el contenido de las variables superglobales o que indican, solo tenéis que mirar la documentación de PHP:
http://docs.php.net/manual/es/reserved.variables.server.php

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es