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)
| | | |-+  [Resuelto] Permitir caracteres que quiera
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Permitir caracteres que quiera  (Leído 2,873 veces)
SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
[Resuelto] Permitir caracteres que quiera
« en: 1 Julio 2018, 20:10 pm »

Como puedo permitir caracteres que yo quiera ejemplo números y letras y estos caracteres $#-_ pero si ponen algo como /' que detecte estaba pensando en un ciclo for ir leyendo carácter por carácter y compararlos en un arreglo que tenga los caracteres que quiero pero sería muy tardado, investigue esta función:
Código
  1. if (!preg_match("/^[0-9a-zA-Z]+$/",$_POST['campo'])) {
  2.  
  3.                echo "hay un carácter no valido";
  4.         }else{
  5. echo "todo bien";
  6. }
  7.  
pero al parecer no funciona según esa función debería solo aceptar números y letras pero meto cualquier tipo de carácter y no surge nada


« Última modificación: 23 Agosto 2018, 02:03 am por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Permitir caracteres que quiera
« Respuesta #1 en: 2 Julio 2018, 00:53 am »

Esa función esta bien y cumple su objetivo que es detectar cualquier carácter que no sea A-Z a-z o 0-9, eso quiere decir que todo lo demás es "ilegal" incluidos los espacios. Para lo que buscas, solo tendrias que añadir el resto de caracteres:

Código
  1. if (!preg_match("/^[0-9a-zA-Z$#-_]+$/",$_POST['campo'])) {


Saludos


En línea

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: Permitir caracteres que quiera
« Respuesta #2 en: 2 Julio 2018, 07:09 am »

Cierto ya probe y si me funciona así ahora tengo un detalle quiero implementar muchos mas caracteres que sería así:
Código
  1. if (!preg_match("/^[0-9a-zA-Z#$%&/()?_;:.,<>+-*ªº=[]{}¿!ç\'~]+$/",$_POST['campo'])) {
pero al momento que lo corro me da esa alvertencia quite unos caracteres ()'[] por si afectaban pero no siguio dandome esa alvertencia.. alguna idea?
Código:
Warning: preg_match(): Unknown modifier '(' in C:\...dircion.. on line N
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Permitir caracteres que quiera
« Respuesta #3 en: 3 Julio 2018, 00:14 am »

Eso es porque en REGEX (que es lo que estas usando), algunos caracteres son especiales. Dichos caracteres los has de escapar con \ (barra invertida).

Código
  1. if (!preg_match("/^[0-9a-zA-Z#$%&\/\(\)\?_;:\.,<>\+\-*ªº\=\[\]\{\}¿!ç\\'~]+$/",$_POST['campo'])) {

Saludos
En línea

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: Permitir caracteres que quiera
« Respuesta #4 en: 3 Julio 2018, 05:19 am »

 ;-) ;-) ;-) muchísimas gracias me ah servido.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
{Resuelto} [Batch Help!] ayuda con conversion de caracteres.. « 1 2 »
Scripting
xassiz_ 13 8,660 Último mensaje 18 Septiembre 2009, 21:35 pm
por Guerrerohgp
[Resuelto] Caracteres especiales preg_replace
PHP
Alex_bro 4 5,563 Último mensaje 3 Abril 2015, 02:08 am
por Alex_bro
[Resuelto] Reemplazar Caracteres en una Cadena
Desarrollo Web
Brian1511 5 3,345 Último mensaje 23 Julio 2015, 03:11 am
por engel lex
[Python] Imprimir caracteres especiales [Resuelto]
Scripting
MA40 1 6,322 Último mensaje 5 Octubre 2016, 01:50 am
por MA40
[Python 3] caracteres de escape (Resuelto)
Scripting
JS3 0 2,540 Último mensaje 13 Enero 2017, 05:27 am
por JS3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines