elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  ayuda caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda caracteres  (Leído 3,085 veces)
kakashi20


Desconectado Desconectado

Mensajes: 435


Ver Perfil
ayuda caracteres
« en: 18 Septiembre 2009, 06:41 am »

hola

hice esta funcion para validar a la hora de subir archivos que el nombre del archivo no contenga el caracter %, pero el if no me funciona, si  alguien me podria ayudar s elo agradeceria, tambien quisiera si en caso tal me funcionara el if, como detener el for apenas encuentre el caracter.


for ($i=0; $i<strlen($archivo);$i++){
      $cad=substr($archivo,$i,$i++);
      
      if($cad=="%"){
      echo"no se puede";

      }
}

gracias


En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: ayuda caracteres
« Respuesta #1 en: 18 Septiembre 2009, 07:20 am »

Ponle un espacio a ver que sale.

Suerte


En línea

kakashi20


Desconectado Desconectado

Mensajes: 435


Ver Perfil
Re: ayuda caracteres
« Respuesta #2 en: 18 Septiembre 2009, 15:14 pm »

poniendole espacio en vez de % si me lo valida, pero caracteres raros como por ejemplo %, no me valida nada.
En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: ayuda caracteres
« Respuesta #3 en: 19 Septiembre 2009, 05:36 am »

Código
  1. for ($i=0; $i<strlen($archivo);$i++){
  2. $cad=substr($archivo,$i,1);
  3.  
  4. if($cad == "%"){
  5. echo"no se puede";
  6. }
  7. }
  8.  

http://ve2.php.net/manual/en/function.substr.php

También puedes usar strstr(), ya que con el bucle si el nombre del archivo tiene varios % imprimiría varias veces "no se puede", en cambio con strstr() lo imprimiría solo una vez sería algo así:

Código
  1. if(strstr($archivo, "%")){
  2. echo "no se puede";
  3. }
  4.  
« Última modificación: 19 Septiembre 2009, 05:45 am por naderST » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: ayuda caracteres
« Respuesta #4 en: 20 Septiembre 2009, 01:16 am »

Código
  1. <?php
  2. if(eregi('%', $archivo)
  3. die('error');
  4. ?>

Además no te funcionaba porque usas "%" y php lo toma como partede una variable al igual que usas printf, es como si pusieras \ en ves de \\ , hay muchas diferencias entre declarar un string entre comillas simples y dobles ya que con dobles puedes hacer escapes, escribir hexadecimal, unir variables, etc pero con comillas simple el string se mantiene tal como es.

No es lo mismo
Código
  1. <?php
  2. echo "% $test \n \x25 {$r}";
  3. ?>

a decir

Código
  1. <?php
  2. echo '% $test \n \x25 {$r}';
  3. ?>

Que pasa si haces un loop con cada carácter?, si es un carácter demasiado largo y muchas querys similares podría causar una denegación de servicio por memory exhaustion.
« Última modificación: 20 Septiembre 2009, 01:19 am por WHK » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda en C++ (Conversion de Caracteres)
Programación C/C++
DragonShiryu 7 5,567 Último mensaje 15 Septiembre 2011, 00:45 am
por Eternal Idol
ayuda en manupular caracteres y ficheros
Java
RockAqp 3 3,125 Último mensaje 3 Mayo 2012, 23:59 pm
por s00rk
ayuda con caracteres « 1 2 »
Programación C/C++
bengy 16 7,564 Último mensaje 4 Septiembre 2012, 06:24 am
por BlackZeroX
Ayuda! Concatenar carácteres en C
Programación C/C++
ARCAME 1 2,455 Último mensaje 2 Diciembre 2012, 20:50 pm
por durasno
AYUDA! Desaparecen caracteres en mi juego C++
Programación C/C++
kyzo98 2 2,377 Último mensaje 28 Febrero 2015, 12:52 pm
por kyzo98
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines