Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
限制对/lib中PHP文件的访问,但允许其他文件调用它们(lighttpd)_Php_Web_Lighttpd - Fatal编程技术网

限制对/lib中PHP文件的访问,但允许其他文件调用它们(lighttpd)

限制对/lib中PHP文件的访问,但允许其他文件调用它们(lighttpd),php,web,lighttpd,Php,Web,Lighttpd,我试图限制对/lib目录中所有php文件的直接访问,但允许web服务器中的其他php脚本访问它们(即AJAX调用)。以下内容正确地限制了访问,但也阻止了其他php文件调用它们: $HTTP["url"] =~ "^/lib" { url.access-deny = (".php") } 有没有办法只阻止直接访问 如果您可以将“lib”的权限设置为555,我认为它应该可以阻止外部世界访问它。如果您不希望通过web访问某些内容,请不要将其放入站点的文档根目录中。PHP完全不受Web服务器级

我试图限制对/lib目录中所有php文件的直接访问,但允许web服务器中的其他php脚本访问它们(即AJAX调用)。以下内容正确地限制了访问,但也阻止了其他php文件调用它们:

$HTTP["url"] =~ "^/lib" {
    url.access-deny = (".php")
}

有没有办法只阻止直接访问

如果您可以将“lib”的权限设置为555,我认为它应该可以阻止外部世界访问它。

如果您不希望通过web访问某些内容,请不要将其放入站点的文档根目录中。PHP完全不受Web服务器级别的限制,可以访问其控制UID有权访问的系统上的任何文件。即使是在/lib中调用某些内容的文件也是不可能的,执行
include('/lib/…')
的php也不受Web服务器限制的约束。除非您按照
include('http://example.com/lib/....“)
,这将是难以置信的低效和高度不安全。我正在使用
require\u once
我有一个AJAX调用,它只显示从lib中获得的启用或禁用。使用上述代码,它将不再工作。我把它评论出来,它又起作用了。然后是的,你必须把它公开。而且由于它是ajax,您甚至无法对其进行密码保护。如果你真的需要保护这些文件的安全,你基本上是被套住了。