Jump to content

Me pitean mi pagina a caa rato xd


Recommended Posts

Bueno en mi pagina tengo un formulario donde los usuarios pueden escribir cualqier wea y despues sale publicado en la web, todo bien hasta que hace poco algun gracioso esta escribiendo en el formulario

 

<script>window.location = "http://www.google.com";</script>

 

y eso ase que mi pagina sea redirigida a google.com apenas uno se mete xd necesito saber como prohibir que en el formulario uno pueda escribir las etiquetas <script> :l

 

mi pagina : http://like.caadim.cl :paco:

Link to comment
Share on other sites

Mira eso es algo que se debe solucionar ahora, ya que lo que te pasa es lo que se conoce por XSS

Deberias usar una funcion como para limpiar los posibles script que pongan, esto debes ponerlo antes de procesar la variable enviada por el formulario, asi que en vez de que el script guarde por ejemplo la variable $texto deberia guardad limpiar_tags($texto)

function limpiar_tags($tags){ 
  $tags = strip_tags($tags); 
  $tags = stripslashes($tags); 
  $tags = htmlentities($tags); 
  return $tags; 
} 

limpiar_tags($variable);

Link to comment
Share on other sites

hola hice lo que me dijiste pero no funciona xd

en ves de limpiar los tags, me guarda la frase

 

limpiar_tags($mivariable)

 

en la bd :l a lo mejor no entendi bien lo que hay que hacer xD

 

pongo el trozo del codigo que necesito proteger:

 

if ($_POST["like"]) {

$like=$_POST["like"];

mysql_query("INSERT INTO fblike VALUES(NULL, '$like', '1')");

$x=mysql_query("SELECT * FROM fblike ORDER BY id DESC LIMIT 1");

while ($y=mysql_fetch_assoc($x)){

$id=$y['id'];

}

 

?>

<script type="text/javascript"> window.location.href="<?=$url_site?>like.php?id=<?=$id?>";</script>

<?

}

?>

Edited by pk_2r
Link to comment
Share on other sites

hola hice lo que me dijiste pero no funciona xd

en ves de limpiar los tags, me guarda la frase

 

limpiar_tags($mivariable)

 

en la bd :l a lo mejor no entendi bien lo que hay que hacer xD

 

pongo el trozo del codigo que necesito proteger:

 

if ($_POST["like"]) {

$like=$_POST["like"];

mysql_query("INSERT INTO fblike VALUES(NULL, '$like', '1')");

$x=mysql_query("SELECT * FROM fblike ORDER BY id DESC LIMIT 1");

while ($y=mysql_fetch_assoc($x)){

$id=$y['id'];

}

 

?>

<script type="text/javascript"> window.location.href="<?=$url_site?>like.php?id=<?=$id?>";</script>

<?

}

?>

 

Mira limpiar_tags debuelve un string asi que no te podria haber guardado esa frase de "limpiar_tags"

segun el codigo que colocas deberia quedar asi:

if ($_POST["like"]) {
    $like=limpiar_tags($_POST["like"]);
    mysql_query("INSERT INTO fblike VALUES(NULL, '$like', '1')");
    $x=mysql_query("SELECT * FROM fblike ORDER BY id DESC LIMIT 1");
    while ($y=mysql_fetch_assoc($x)){
        $id=$y['id'];
}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...