我的网站从很多页面构建而成,这些页面分为两类,一类是“html”文件和“核心”文件,其中包含“html”文件的功能和服务器端代码需要,他们的PHP文件。PHP:阻止浏览器请求
有“核心”文件不能从“html”文件请求,我想阻止这种情况。
我希望“核心”文件只有在“html”文件要求时才能打开,否则会显示404错误,这是可能的吗?
note *:我前面说过,“html”和“core”文件都是PHP文件。
谢谢你提前!
我的网站从很多页面构建而成,这些页面分为两类,一类是“html”文件和“核心”文件,其中包含“html”文件的功能和服务器端代码需要,他们的PHP文件。PHP:阻止浏览器请求
有“核心”文件不能从“html”文件请求,我想阻止这种情况。
我希望“核心”文件只有在“html”文件要求时才能打开,否则会显示404错误,这是可能的吗?
note *:我前面说过,“html”和“core”文件都是PHP文件。
谢谢你提前!
在您的Core中创建验证码。
Somehting like,验证常量“html”,如果已定义,则运行代码,如果没有,则抛出404错误。
http://br2.php.net/manual/pt_BR/function.constant.php
另一种方式是使用htaccess的,如果你使用Apache服务器阻塞。
HTML(PHP文件)
define('HTML');
核心(PHP文件)
if(!defined('HTML')) { /* Display 404 error */ }
您可以通过服务器设置来控制它,或者更好地将它们移出文档根目录。
您可以使用.htaccess来限制对相关文件的访问。
例如。如果“核心文件”有一个PHP扩展,而所有其他人的.html您可以添加为.htaccess是这样的:
<Files ~ "\.php$">
Order allow,deny
Deny from all
</Files>
或者,如果你所有的“核心文件”都在一个目录下,你可以限制通过输入访问
<Directory ~ "\core">
Order allow,deny
Deny from all
</Directory>
记住要让AllowOveride All为了让Apache使用您指定的.htaccess。
正如我在文章中所说,他们都是PHP文件,因为它们包含html代码,所以它称为“html”文件。我会考虑我的选择,如果我没有在PHP我会去htaccess,感谢您的快速重播。 – 2012-01-18 20:42:19
@MorSela对不起,我错过了! :)您可以将您的核心文件重命名为.inc.php,并按上面的指定应用限制或将它们移动到单独的目录并限制它。 GabrielGartz提到的定义的概念也是一个可行的解决方案 – mobius 2012-01-18 20:47:22
这实际上是一个服务器设置,不是一个真正的PHP问题。可能要把它带到不同的StackExchange站点 – 2012-01-18 20:36:41
我其实在服务器中什么都不知道,如果可以的话,我很有兴趣在php中这样做。 – 2012-01-18 20:37:20