I derived the following code from untainting user login information. I added in comments to show what I think is going on. Please correct me if I'm way off base here. $de is just some random variable name I popped in for testing. :p
My goal is to allow people to drill down in a specific directory tree such as Current_Directory/X/Y/Z but to refuse to allow them to use relative paths to leave the directory tree such as Current_Directory/../../Important_File_Name. So I came up with the following.
Is there anything important I'm missing here?$de =~ s([^a-zA-Z0-9 _/\.-])()g; #strip everything that's not approved +. $de =~ tr(./)(./)s; #Look for repeats of the . and / and squash them. $de =~ m/(\w+.*)$/; #Strip off leading . and / just in case. $de = $1;
Is it fair to stick a link to my site here?
Thanks for you patience.
In reply to Cleaning up directory paths. by SavannahLion
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |