首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mojolicious和目录遍历

Mojolicious和目录遍历
EN

Stack Overflow用户
提问于 2013-11-19 04:07:06
回答 1查看 198关注 0票数 1

我是Mojolicious的新手,正在尝试使用这个框架构建一个小型的new服务,我编写了以下代码来远程呈现一些文件

代码语言:javascript
复制
use Mojolicious::Lite;
use strict;
use warnings;



app->static->paths->[0]='C:\results';
     get '/result' => sub {

       my $self = shift;
       my $headers = $self->res->headers;
      $headers->content_type('text/zip;charset=UTF-8');

       $self->render_static('result.zip');

    };

    app->start;

但当我尝试使用以下url获取文件时,似乎是这样的:

代码语言:javascript
复制
http://mydomain:3000/result/./../result

我拿到文件了。

mojolicious上有没有防止这种目录遍历的选项?

也就是说,在上面的情况下,我只想

代码语言:javascript
复制
http:/mydomain:300/result

如果有人输入此url,则为页面提供服务:

代码语言:javascript
复制
http://mydomain:3000/result/./../result

该页面不应提供服务。这样做是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-19 04:22:30

/$result^/是一个正则表达式,如果您没有定义标量变量$result (看起来您没有这个变量),它将解析为/^/,它不仅与http://mydomain:3000/result/./../result匹配,还与http://mydomain:3000/john/jacob/jingleheimer/schmidt匹配。

use strictuse warnings,甚至在很小的网络服务上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20056814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档