regex para 'filtrar' nome de arquivo
Oi Pessoal,
Alguém tem alguma expressão regex (s///) para retirar todos os
caracteres inválidos em um nome de arquivo e trocar pelos respectivos
com uma barra invertida antes?
A intenção é a partir do nome do arquivo fornecido pelo usuario
executar um comando em shell, portanto eu preciso proteger tanto de
nomes especiais com espaços e caracteres especiais como
"123 456 + wq e uir.jpg" quanto de furos de segurança que usuários
espertinhos queiram pegar, como falar que o arquivo chama-se
"12312.jpg; rm -rf /"
Não sei quais são todos os caracteres inválidos e não quero ficar
testando um a um... se alguém tiver alguma referencia sobre isso
também serve. Ai eu faço o regex a partir desta referencia.
Abraços
Pedro
--
.''`. Pedro Zorzenon Neto <pzn@terra.com.br>
: :' : Debian GNU/Linux | GNU/Hurd: <http://www.debian.org>
`. `'` Debian BR: <http://debian-br.sourceforge.net>
`- Be Happy! Be FREE!
Reply to: