限制对/lib中PHP文件的访问,但允许其他文件调用它们(lighttpd)
我试图限制对/lib目录中所有php文件的直接访问,但允许web服务器中的其他php脚本访问它们(即AJAX调用)。以下内容正确地限制了访问,但也阻止了其他php文件调用它们:限制对/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服务器级
$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,您甚至无法对其进行密码保护。如果你真的需要保护这些文件的安全,你基本上是被套住了。