我想知道是否有办法更改相关文档根目录以获得额外的安全性。我将尝试通过以下示例解释自己:
/root
/app
/public
假设对Web服务器的www.example.com
请求指向root
文件夹
我想知道是否有配置,例如通过位于所述.htaccess
文件夹中的root
文件,这将使服务器指向public
文件夹,因此具有任何远程路径始终相对于所述public
文件夹
在这种情况下,www.example.com/app
会在app
内请求public
文件夹,而不是app
内的root
文件夹,而后者无法访问远程网址请求
以同样的方式,www.example.com/public
会在我们的根public
文件夹中请求public
文件夹,依此类推。
我已经阅读了this one之类的各种主题,提到使用自定义.htaccess
配置来实现类似的功能,但它需要在所述文件中手动配置请求网址,而我的意图是无论您在何处托管应用程序,它都可以在没有进一步配置的情
我见过的另一个可能的解决方案是通过.htaccess
文件进行硬重定向,实际上并没有解决任何问题。
随意编辑这篇文章,因为我可能很难尝试解决这个问题。
答案 0 :(得分:7)
您可以使用这个简单的04-Feb-2016 15:42:41.141 INFO [http-nio-8084-exec-78] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir
04-Feb-2016 15:42:41.203 WARNING [http-nio-8084-exec-78] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn Request exceeded size limit!"
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (2104281) exceeds the configured maximum (2097152)
文件:
.htaccess
您服务器上的任何请求都将指向公用文件夹。
在公共文件夹中,您可以添加额外的<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>
文件来处理您的网站规则。
答案 1 :(得分:3)
您还可以在一个网络服务器上托管多个网站。您可以使用
之前提到的mod_alias组合制作VirtualHosts和Alias在此示例中,您可以使用自己的服务器(专用服务器或VPS)
通过使用虚拟主机,您可以在收到www.example.com的请求时告知网络服务器,以便从特定文件夹中提供内容。
它的一个示例Virtualhost是:
<Virtualhost *:80>
ServerName ^domain_or_ip^
DocumentRoot ^path of the public folder^
DirectoryIndex index.php home.php index.html index.htm
ErrorLog ^path for a file containing php errors^
CustomLog ^path for logging whitch browser and ip visited your site^ combined
</Virtualhost>
答案 2 :(得分:2)
我建议您无论如何都将服务器指向公共文件夹,因为它更安全,您可以看到所有框架的行为方式相同,它们都有一个&#34; public&#34;服务器指向的文件夹。
在公共文件夹中,您有一个脚本入口点,例如
index.php
从此条目中,您将与您的申请进行沟通。
当然你仍然可以按照你的要求工作,它会很好用,但是谁知道你可能会错过一些东西,有人可以访问和查看你的内心&#34;文件。
答案 3 :(得分:1)
你在Apache网络服务器上?如果我理解正确,您正在寻找虚拟目录。通常,我们必须将我们的Web应用程序放在Apache的文档根目录中,以便可以从网络访问应用程序。但是,有一个技巧可以使Web应用程序仍然可访问,即使我们将它放在Apache的文档根目录之外。请在此处阅读:http://w3shaman.com/article/creating-virtual-directory-apache 显然,归功于W3Shaman.com。