【发布时间】:2019-08-21 16:03:20
【问题描述】:
我正在创建一个简单的文件管理器,它扫描目录并列出其中的文件和目录,包括升级的三个点../。我的“根”目录是E:/wamp/www,我不希望它允许我访问父目录。
我正在使用以下正则表达式:
(^E\:\/wamp\/www\/)(\.\.\/$|\.\.\/.*?(\.\.\/)+$)|(^E\:\/wamp\/www\/([^\/]+\/)+)(\.\.\/.*?(\.\.\/)+)
为了防止以下情况:
- E:/wamp/www/../
- E:/wamp/www/dir/../../
- E:/wamp/www/dir/subdir/../../../
但我发现也可以这样做:
- E:/wamp/www/dir/../dir/../../
等等
如何防止这种情况发生并将其限制为仅在 E:/wamp/www 发生时使用正则表达式?
【问题讨论】: