webmcp
view framework/env/encode/file_path_element.lua @ 3:795b764629ca
Version 1.0.3
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
author | jbe |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 9fdfb27f8e67 |
children |
line source
1 --[[--
2 encoded_path_element = -- string which can't contain evil stuff like "/"
3 encode.file_path_element(
4 path_element -- string to be encoded
5 )
7 This function is encoding a string in a way that it can be used as a file or directory name, without security risks. See the source for details.
9 --]]--
11 function encode.file_path_element(path_element)
12 return (
13 string.gsub(
14 string.gsub(
15 path_element, "[^0-9A-Za-z_%.-]",
16 function(char)
17 return string.format("%%%02x", string.byte(char))
18 end
19 ), "^%.", string.format("%%%%%02x", string.byte("."))
20 )
21 )
22 end