【发布时间】:2014-12-28 10:26:21
【问题描述】:
快速解决方案(感谢下面汤姆的回答,阅读他的完整解释):在 webroot 目录中创建一个新的 php 文件;假设 temp.php。从那里,使用 include 或 request 调用 webroot 之外的 test.php 文件。
index.html -> temp.php -> test.php
- 我正在使用 javascript 来访问 temp.php,但也可以使用 href。
- 在 temp.php 中,我使用了:include dirname(__FILE__)。 '/../test.php';
- 就是这样,test.php 不能通过 URL 直接访问。如果您想从外部访问 webroot 中的文件,请使用以下内容: header("location:".dirname(__FILE__).'/../wwwroot/index.php');请参阅:http://stackoverflow.com/questions/13550471/php-include-file-in-webroot-from-file-outside-webroot,我在哪里找到 FILE/DIR 东西
原问题:
我有一个托管在 Arvixe 上的网站(Windows 托管,而不是 Linux)。
在我的域目录中,我有一个 test.php 文件和 wwwroot 文件夹。
在 wwwroot 文件夹中,我有一个 index.html 文件。
从 index.html 文件中,我只想要一个调用 test.php 文件的简单链接/按钮。我不希望用户直接通过 URL 访问 php 文件(这就是我将其放在根目录之外的原因),但我希望 index.html 等其他文件能够访问它。我已经尝试了 web.config 和 .user.ini 的安全性(没有工作),但我认为如果这有效,那么安全性应该没问题。
- 我尝试了 href="../test.php",但它不起作用(404 - 找不到文件或目录)
- test.php 的权限与 wwwroot 相同(通过 cp 门户)
- 我不想包含php文件,我想单独调用和运行它
- 我已经查看了 stackoverflow 中的所有相关帖子两天,但似乎没有任何效果
- 如果您的建议是使用文件的完整路径或创建虚拟目录,请提供一个示例。因为我都试过了,都没有运气
- 我还读到您需要 php 脚本才能访问根以外的 php 文件,但不知道如何调用外部文件。我已经尝试过一次,但得到了 404 异常。如果能成功就太好了
有没有人有一个简单的方法来完成这个? (尤其是使用 Windows Arvixe 托管的任何人)。我觉得这里应该有一个简单的答案):感谢您阅读本文,非常感谢您的任何建议
【问题讨论】:
标签: php html security document-root windows-hosting