Comunidad PHPeros
Lenguajes => PHP => Mensaje iniciado por: TheGeorge 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-.
-
creo k poniendo htmlspecialchars($_SERVER['PHP_SELF']); esta arreglado
-
creo k poniendo htmlspecialchars($_SERVER['PHP_SELF']); esta arreglado
Muchas gracias. :D
¿Alguna otra sugerencia?
Saludos
-
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.
-
a $_SERVER['SCRIPT_NAME'] no es necesario ponerle htmlspecialchars() verdad?
Saludos
-
no, k yo halla visto
-
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?
-
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'] => '...'
-
Yo se usar foreach, lo que no entendi fue la parte de => 'valor', Me explicas esa parte mejor. :-[
Y gracias de antemano.
-
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
-
Bueno creo que en el codigo que tu hiciste no es necesario el $valor, ya que puede ser:
<?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.
-
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...
-
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>";
?>
-
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
-
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
-
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...
¿Y si es $_SERVER[$nombre] = $valor?
-
no te entiendo?
-
Me dijiste que si yo ponía $_SERVER[$nombre] = $nombre , me iba a dar como resultado $_SERVER['REMOTE_ADDR'] = REMOTE_ADDR etc.. y te pregunto que si pongo $_SERVER[$nombre] = $valor, ¿Qué devolvería?
-
pues $_SERVER['elnombre'] = elvalor
$_SERVER['REMOTE_ADDR'] = 1.1.1.1.1
-
pues $_SERVER['elnombre'] = elvalor
$_SERVER['REMOTE_ADDR'] = 1.1.1.1.1
A ok, por ultimo, ¿Por qué en la primera parte de $_SERVER['REMOTE_ADDR'] = 1.1.1.1.1, en vez de mostrar 1.1.1.1.1, muestra $_SERVER['REMOTE_ADDR']?
-
por que es el nombre del array...