Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Xephiro en 30 Enero 2009, 23:33 pm



Título: 2 Preguntas :D
Publicado por: Xephiro en 30 Enero 2009, 23:33 pm
HOla, me encuentro diseñando un formulario para postear comentarios en mi web, y tengo 2 problemas

el primero pasa por el como puedo hacer para detectar los saltos de linea, ya que cuando hago saltos de linea y luego almaceno el texto en mi base de datos, al cargarlos, solo toma 1 espacio y ningun salto de linea..


y el segundo, que me recomiendan para evitar las SQL Injections, ya que por medio de los formularios segun entiendo, es posible que me modifiquen mi base de datos si esque no la tengo asegurada :S pero como?


Título: Re: 2 Preguntas :D
Publicado por: Dacan en 30 Enero 2009, 23:39 pm
Para lo segundo la función:

mysql_real_escape_string

Saludos, Dacan  :D


Título: Re: 2 Preguntas :D
Publicado por: :ohk<any> en 31 Enero 2009, 16:18 pm
Para el 2do tambien puedes usar esta funcion:

Código
  1. function addslashes__recursive($var)
  2. {
  3. if (!is_array($var))
  4. return addslashes($var);
  5.  
  6. $new_var = array();
  7. foreach ($var as $k => $v) $new_var[addslashes($k)]=addslashes__recursive($v);
  8.  
  9. return $new_var;
  10. }
  11.  
  12. $_POST=addslashes__recursive($_POST);
  13. $_GET=addslashes__recursive($_GET);
  14. $_REQUEST=addslashes__recursive($_REQUEST);
  15. $_SERVER=addslashes__recursive($_SERVER);
  16. $_COOKIE=addslashes__recursive($_COOKIE);

Que esta en el glosario de funciones del foro  ;D


Título: Re: 2 Preguntas :D
Publicado por: cassiani en 31 Enero 2009, 17:19 pm
como puedo hacer para detectar los saltos de linea

Código:
http://ve.php.net/nl2br


Título: Re: 2 Preguntas :D
Publicado por: Xephiro en 1 Febrero 2009, 02:23 am
Para el 2do tambien puedes usar esta funcion:

Código
  1. function addslashes__recursive($var)
  2. {
  3. if (!is_array($var))
  4. return addslashes($var);
  5.  
  6. $new_var = array();
  7. foreach ($var as $k => $v) $new_var[addslashes($k)]=addslashes__recursive($v);
  8.  
  9. return $new_var;
  10. }
  11.  
  12. $_POST=addslashes__recursive($_POST);
  13. $_GET=addslashes__recursive($_GET);
  14. $_REQUEST=addslashes__recursive($_REQUEST);
  15. $_SERVER=addslashes__recursive($_SERVER);
  16. $_COOKIE=addslashes__recursive($_COOKIE);

Que esta en el glosario de funciones del foro  ;D


Una pregunta xD e visto mucho esta funcion en el foro, pero mi pregunta es, si tengo un sistema de posteos al usar addslashes me influira al leer los datos?

o si ingleso una contraseña que solo es valida si contiene numeros y letras, al insertar el addslashes me cambia en algo?


Título: Re: 2 Preguntas :D
Publicado por: Jecth en 1 Febrero 2009, 02:57 am
HOla, me encuentro diseñando un formulario para postear comentarios en mi web, y tengo 2 problemas

el primero pasa por el como puedo hacer para detectar los saltos de linea, ya que cuando hago saltos de linea y luego almaceno el texto en mi base de datos, al cargarlos, solo toma 1 espacio y ningun salto de linea..


y el segundo, que me recomiendan para evitar las SQL Injections, ya que por medio de los formularios segun entiendo, es posible que me modifiquen mi base de datos si esque no la tengo asegurada :S pero como?
¿Si usas Bucle for?. De esta manera (lo saque de una aplicación sql & php).
Código:
for ($i = 0; $i < caracteres...; $i++) {
// Comparamos la longitud de las palabras con el máximo
if (strlen($palabrasm[$i]) > $maximo) {
 // Dividimos las palabras que excedan el máximo 
 $palabrasm[$i] = wordwrap($palabrasm[$i], $maximo, "<br>", 1);
 $palabrasm[$i] = htmlentities($palabrasm[$i]);
$palabrasm[$i] = str_replace("&lt;","<", $palabrasm[$i]);
$palabrasm[$i] = str_replace("&gt;",">", $palabrasm[$i]);
} else
$palabrasm[$i] = htmlentities($palabrasm[$i]);
} // Fin bucle "for"