Security Advisories (3)
CPANSA-Plack-2015-0202 (2015-02-02)

Fixed a possible directory traversal with Plack::App::File on Win32.

CPANSA-Plack-2014-0801 (2014-08-01)

Plack::App::File would previously strip trailing slashes off provided paths. This in combination with the common pattern of serving files with Plack::Middleware::Static could allow an attacker to bypass a whitelist of generated files

CPANSA-Plack-2013-0131 (2013-01-31)

Fixed directory traversal bug in Plack::App::File on win32 environments

NAME

Plack::App::File - Serve static files from root directory

SYNOPSIS

use Plack::App::File;
my $app = Plack::App::File->new(root => "/path/to/htdocs")->to_app;

# Or map the path to a specific file
use Plack::Builder;
builder {
    mount "/favicon.ico" => Plack::App::File->new(file => '/path/to/favicon.ico');
};

DESCRIPTION

This is a static file server PSGI application, and internally used by Plack::Middleware::Static. This application serves file from document root if the path matches with the local file. Use Plack::App::Directory if you want to list files in the directory as well.

CONFIGURATION

root

Document root directory. Defaults to . (current directory)

file

The file path to create responses from. Optional.

If it's set the application would ALWAYS create a response out of the file and there will be no security check etc. (hence fast). If it's not set, the application uses root to find the matching file.

encoding

Set the file encoding for text files. Defaults to utf-8.

AUTHOR

Tatsuhiko Miyagawa

SEE ALSO

Plack::Middleware::Static Plack::App::Directory