Autor Tema: Tengo dos dudas con GET y POST  (Leído 456 veces)

Desconectado genartina

  • PHPer@ Fijo
  • ***
  • Mensajes: 131
  • Karma: 0
  • Sexo: Masculino
  • Comunidad Linksharing
    • Ver Perfil
    • Linksharing
Tengo dos dudas con GET y POST
« en: 29 de Noviembre de 2010, 23:53:24 pm »
Buen dia:

Hice esta funcion para proteger los GET y los POST de mi web:

function seguridad($string){
$string = stripslashes($string);
$string = mysql_real_escape_string($string);
$string = htmlspecialchars($string);
$string = addslashes($string);
return $string;
}

A esta funcion la utilizo asi:

$algo = seguridad($_POST['algo']); ( La uso asi tambien con los GET )

Mi duda es que funciona tan bien que resulta imperceptible, es como si no tuviera nada. La pregunta es: ¿Funcionara?

La otra duda viene derivado de esto:

Vi que en el foro, a los POST lo usan asi:

$query = 'SELECT * FROM tabla WHERE user=”'.
mysql_escape_string($_POST['user']).'”';

Incluyendo directamente mysql_escape_string y $_POST en la consulta.

Yo lo hago de asi:

$algo = mysql_escape_string($_POST['algo']);
mysql_query("INSERT INTO tabla (algo) VALUES ('$algo')")
or die(mysql_error());

Osea, filtrando y luego realizando la consulta. ¿ Esta bien como lo hago?

Estas son dudas que me surgen luego de leer mensajes en el foro, o en otras paginas. Saludos
¿ Genartina ? jeje

Comunidad PHPeros

Tengo dos dudas con GET y POST
« en: 29 de Noviembre de 2010, 23:53:24 pm »

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Tengo dos dudas con GET y POST
« Respuesta #1 en: 30 de Noviembre de 2010, 04:11:41 am »
Si no pruebas, no conoces.

Los códigos están bien de hecho. Es indiferente la manera en que lo hagas pero cuando vallas a ingresar una variable en el valor de una query como es el caso de:

Código: [Seleccionar]
$algo = mysql_escape_string($_POST['algo']);
mysql_query("INSERT INTO tabla (algo) VALUES ('$algo')") or die(mysql_error());

Te recomiendo que la variable la aísles de la query ya que en algunos hosting da error.
Ejemplo:
Código: [Seleccionar]
$algo = mysql_escape_string($_POST['algo']);
mysql_query("INSERT INTO tabla (algo) VALUES ('".$algo."')") or die(mysql_error());

Saludos.
Twitter: @JoakoM010



Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Tengo dos dudas con GET y POST
« Respuesta #2 en: 30 de Noviembre de 2010, 19:06:33 pm »
YO no te recomiendo que declares una variable que solo utilizarás una vez, así evitas gastar tanto espacio ;)
- Moderador de PHP


Desconectado SergioPina

  • PHPer@
  • **
  • Mensajes: 59
  • Karma: 1
  • Sexo: Masculino
  • ¡Contando arrays!
    • Ver Perfil
    • Página personal
Re:Tengo dos dudas con GET y POST
« Respuesta #3 en: 30 de Noviembre de 2010, 20:41:10 pm »
En mi opinión deberías ahorrar código y hacer esto simplemente
<?php
function seguridad($cadena){
return 
htmlspecialchars(addslashes(mysql_real_escape_string(stripslashes($cadena))));
}
?>
¿Por qué mostramos códigos abiertos en nuestra firma?, Creemos que por hacer un par de cosas en ella nos tomarán más en cuenta, ¡PHPeros sin firmas en PHP!