为了安全起见,我将文件和文件夹的集合移到apache服务器上的Web根之外,然后我将为它们提供动态服务。这似乎比2个替代方案要好:
因此,我们将其返回到Web根之外,但要动态地为其提供服务。我遇到的问题是,因为它们都是不同的文件类型(php脚本,txt,pdf,jpg),所以我不确定是否应该使用include()
或readfile()
。而且我在为每个文件发送正确的标题时遇到了问题,以便浏览器正确显示它们。
我想念另一个魔术解决方案吗?是否有一个框架使我无法处理动态文件和标头的提供?
(仅供参考,我在共享主机上运行Linux,Apache和PHP)
我认为这样会起作用:
<?php
$path = realpath(dirname(__FILE__) . '/../my_files/' . $_GET['file']);
$parts = explode('/', pathinfo($path, PATHINFO_DIRNAME));
if (end($parts) !== 'my_files') {
// LFI attempt
exit();
}
if (!is_file($path)) {
// file does not exist
exit();
}
header('Content-Type: ' . mime_content_type($path));
header('Content-Length: ' . filesize($path));
readfile($path);
我试图在根目录外的文件夹中保存一个文件,然后读取它的内容。 例如,我的工作目录是/var/www/html/project_folder,我想将文件保存在/var/www/new_folder中 我使用的是Laravel5.2,所以我的根路径是/var/www/html/project\u folder/public 我已授予新文件夹的所有权限。我尝试了$\u SERVER['DOCUMENT\u
问题内容: 如何使用Tomcat从Web应用程序外部的公共文件夹中提供图像文件?我不想在其他端口上使用第二个Apache文件服务器,因为图像文件是同一应用程序的一部分。而且我不想在webapps内部创建指向公共文件夹的符号链接,因为我的应用程序被部署为war文件....是否有一个更简单的解决方案,类似于将默认servlet用于webapps内部的静态内容,用于webapps外部的静态内容 问题答案
问题内容: 在Golang中,我如何在根目录之外提供静态内容,同时仍具有用于提供主页的根目录处理程序。 使用以下简单的Web服务器作为示例: 如果我做 我收到一个恐慌,说我有两个针对“ /”的注册。我在互联网上找到的每个Golang示例都建议从不同目录中提供其静态内容,但这对于sitemap.xml,favicon.ico,robots.txt和其他按惯例或始终必须从根本上得到服务。 我要寻找的行
问题内容: 我使用Flask并想更改资产文件夹目录。这是我的文件夹结构: 我想将静态文件夹下的所有文件夹移到该文件夹下。但是当我这样做时,我的css文件和其他文件无法加载页面。我应该为我的应用程序设置一个属性吗?我也尝试了以下方法: 但是无法做到这一点,还有其他方法吗? 更新: 当我在上方的行中删除前导斜杠时,出现了 带有追溯的错误: 问题答案: 初始化应用程序时,它应该是static_folde
谢谢, 哈利
问题内容: 在Web应用程序中,我需要提供位于应用程序上下文目录外部的静态内容(图像)。整个应用程序体系结构要求我使用Tomcat来执行此操作。我以为可以从Spring的应用程序URL和目录内容之间配置映射而受益。但是AFAIK的属性仅处理上下文相关或类路径映射。因此,我想使用的是: 不起作用。因为我宁愿避免编写简单的文件传输servlet,所以如果有人可以给我一些有关基于Spring的现有解决方