我的 PHP 应用程序使用 404 文档生成 HTML 文件,因此对同一 HTML 文件的多次查询只会导致生成运行一次。
我想拦截对 HTML 文件的请求,以便用户需要建立 PHP session 才能提取文件。
在最好的情况下,SESSION ID 将被用在 URL 中并强制它可以用作进一步的身份验证。例如,登录会向您发送一个 SessionID,并使您只能访问某些 HTML 文件。
我知道通过更改我的 cookie 我可以欺骗请求,但这没关系。
我该怎么做?
最佳答案
像这样的东西可以工作(我还没有测试过):
RewriteCond %{HTTP_COOKIE} PHPSESSID=([a-zA-Z0-9]+)
RewriteCond %{REQUEST_FILENAME} %{REQUEST_FILENAME}-%1.html
RewriteRule ^ %{REQUEST_FILENAME}-%1.html
它假定您将 "-$session_id.html"
附加到文件名($session_id
是 PHP 的 session ID)。
它应该是安全的,好处是文件由 Web 服务器直接提供,根本不需要调用 PHP。
关于php - 使用 .htaccess 保护 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623788/