【问题标题】:Restrict access to PHP files in /lib but allow other files to call them (lighttpd)限制对 /lib 中 PHP 文件的访问,但允许其他文件调用它们 (lighttpd)
【发布时间】:2014-05-30 16:12:28
【问题描述】:

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

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

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

【问题讨论】:

  • 如果您不希望通过网络访问某些内容,请不要将其放入您网站的文档根目录中。 PHP 完全不受网络服务器级别的限制,可以访问系统上其控制 UID 有权访问的任何文件。
  • 使用上面的代码它会阻止一切。甚至我在 /lib 中调用某些东西的文件
  • 不可能,php 执行include('/lib/...') 不受网络服务器限制。除非您以 include('http://example.com/lib/....') 的身份执行此操作,否则效率极低且极不安全。
  • 我正在使用require_once 我有一个 AJAX 调用,它简单地显示它从 lib 中的某些内容中获取的启用或禁用。使用上面的代码,它不再起作用。我把它注释掉,它又可以工作了。
  • 那么是的,您必须将其公开。而且因为它是ajax,你甚至不能用密码保护它。如果您需要真正保护这些文件的安全,您基本上已经被淹没了。

标签: php web lighttpd


【解决方案1】:

如果您可以将“lib”的权限设置为 555,我相信它应该阻止它与外界联系。

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 2013-11-20
    • 1970-01-01
    • 2012-09-29
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    相关资源
    最近更新 更多