我正在使用这样的“干净”网址:
http://localhost/controller/action/param
我使用自定义函数访问参数,例如my_get(1),my_get(2)等......
但有时候我认为我需要将它们与查询字符串结合起来。 例如:如果我需要包含带有多个斜杠的路径的参数值,例如:
http://localhost/controller/action/param?mypath=foo/bar/qux.jpg
我之所以这样做是因为如果使用干净的URL完成它会更难实现。
现在我的问题是,在结合干净的URL和查询字符串时,我只打算允许这个字符类:
[.&=a-z0-9\/_-]
我想知道它会有任何安全问题吗?我应该禁止某些角色吗?
答案 0 :(得分:0)
不介意字符串格式化,但请验证传递的路径...在示例中您说:“在上面的示例中,mypath的值将使用unlink()删除;”“好吧,如果你不知道在最坏的情况下验证它,攻击者可以删除服务器文件系统上的任何文件......;)
所以不要为使用正则表达式验证字符串而烦恼,但要验证字符串的内容并使其对您的环境安全......:)