Hola a todos bueno sinceramente desconozco de programación PHP pero necesito hacer algo que se que es muy fácil realizar, se que es algo puntual que me llevaría tener que aprender una gran cantidad de PHP siendo para mi incensario en este momento.
Les comento:
Tengo una página llamada hola.php y me gustaría que mostrara en el php lo que se escribe después de ?n= un ejemplo sería lo que está con rojo:
/hola.php?n=Hola
y que la página mostrara Hola (simple texto, no centrado)
la idea es que lo que se escriba a continuación de n= el .php me lo muestre como un simple texto en la misma página hola.php
(Introduciré solo textos)
Se que será sencilla para ustedes, Muchas gracias por su ayuda
Hola
No está de más saber un poco de PHP.
Te lo he hecho porque estoy aprendiendo PHP y me viene bien practicar, sino te hubiera dicho que no se hacen tareas :laugh: :laugh:
Tu página, por ejemplo index.html:
<form action="hola.php" method="get">
<input type="text" name="n">
<input type="submit" value="Enviar">
</form>
hola.php
<?php
if(isset($_GET['n']))
if($_GET['n'] != "")
echo $_GET['n'];
?>
Saludos
Hola satu, recuerda asegurar, en lo que hiciste eres vulnerable a XSS, busca sobre htmlspecialchars() de php como minimo ;)
Cita de: jdc en 7 Febrero 2012, 12:53 PM
Hola satu, recuerda asegurar, en lo que hiciste eres vulnerable a XSS, busca sobre htmlspecialchars() de php como minimo ;)
Muchas gracias
jdc, todavía soy muy novato en esto
Saludos
Cita de: satu en 7 Febrero 2012, 10:25 AM
Hola
No está de más saber un poco de PHP.
Te lo he hecho porque estoy aprendiendo PHP y me viene bien practicar, sino te hubiera dicho que no se hacen tareas :laugh: :laugh:
Tu página, por ejemplo index.html:
<form action="hola.php" method="get">
<input type="text" name="n">
<input type="submit" value="Enviar">
</form>
hola.php
<?php
if(isset($_GET['n']))
if($_GET['n'] != "")
echo $_GET['n'];
?>
Saludos
Hola satu, muchísimas gracias de verdad, bueno ahora a ver como evitamos XSS
Saludos y gracias
Creo que encontré la solución, que alguien me corrija por favor:
<?php
if(isset($_GET['n']))
if($_GET['n'] != "")
$_GET['n'] = htmlspecialchars(addslashes(stripslashes(strip_tags(trim($_GET['n'])))));
echo $_GET['n'];
?>
Una cosa más, que debería hacer para modificar el color al texto devuelto?, Muchas gracias
PD: es para un programa que quiero que muestre un php con el error
ej n?=error421
y que muestre error421 pero de color rojo nada más
Muchas gracias
Que manía con no utilizar los { } xD.
Os recomiendo que los utilizeis, sino, con mucho código uno se lía la cabeza.
<?php
if(!empty($_GET['n'])){
$_GET['n'] = htmlentities($_GET['n'],ENT_QUOTES);
echo '<font style="color:#FF0000;">'.$_GET['n'].'</font>';
}
?>
empty(), hace la función de comprobar que la variables no esta vacía + ver si esta definida.
htmlentities(), convierte todos los caracteres (<, > ", ' etc..) a caracteres html (< , > etcc).
El color, no depende de PHP. Depende de HTML o CSS que son los que formatean el texto.
Saludos
Muchas gracias por el código lo voy a probar y comento, disculpa mi ignorancia en el tema pero en realidad es algo puntual, Saludos y de verdad muchas gracias
Lo que pusiste para evitar XSS es demasiado paranoico xD con htmlspecialchars($var,ENT_QUOTES) sobra, y muy cierto lo de los {} acostumbrarse desde el principio a usarlos, para mostrar un error te sale fácil:
<?php
$var = @$_GET['n'];
if(!empty($var)){
if($var === "error1"){
echo 'Descripcion del error 1';
}else if($var === "error2"){
echo 'Descripción del error 2';
}else{
echo 'Metieron cualquier otra cosa en n así que no es válido';
}
}
Cita de: .:UND3R:. en 7 Febrero 2012, 07:59 AM
Hola a todos bueno sinceramente desconozco de programación PHP pero necesito hacer algo que se que es muy fácil realizar, se que es algo puntual que me llevaría tener que aprender una gran cantidad de PHP siendo para mi incensario en este momento.
Les comento:
Tengo una página llamada hola.php y me gustaría que mostrara en el php lo que se escribe después de ?n= un ejemplo sería lo que está con rojo:
/hola.php?n=Hola
y que la página mostrara Hola (simple texto, no centrado)
la idea es que lo que se escriba a continuación de n= el .php me lo muestre como un simple texto en la misma página hola.php
(Introduciré solo textos)
Se que será sencilla para ustedes, Muchas gracias por su ayuda
<?=$_GET['n'];?>
:xD
Cuídado con eso porque es muy fácil hacer XSS/inyección SQL/etc