0

我在 apache 服务器上,我想对未登录的人隐藏资产。我的登录逻辑/cookie 在 php 中,因此如果登录 cookie 不存在,很容易重定向。但是如何限制对 css/js/images 等其他资产的访问?例如,在我的网站 example.com/user/foo.php 位于登录墙后面。但是 foo.php 也加载了 example.com/js/user/foo.js。现在任何知道文件位置的人都可以看到 js 文件的内容。但我想限制它,以便用户必须登录才能加载 js/css 文件。主要是 js,因为它可以有敏感数据或暴露一些内部 api 调用等。

4

1 回答 1

4

如果登录 cookie 不存在,很容易重定向

这几乎不是一个有效的解决方案。

虽然我会质疑这样做是否真的有任何好处,但最简单的解决方案是:

  • 使用 mod_rewrite 通过 PHP 脚本路由对静态内容的所有请求,该脚本可以验证会话是否经过身份验证(这将非常慢并且需要在控制器中重新实现缓存)

  • 使用 mod_auth_memcookie 控制对网络服务器层文件的访问。

于 2013-09-18T14:53:12.197 回答