【问题标题】:How to prevent users from accessing .pdf files untill they are not being redirect from any page of website by using .htaccess?如何防止用户访问 .pdf 文件,直到他们没有被使用 .htaccess 从网站的任何页面重定向?
【发布时间】:2023-04-11 05:24:01
【问题描述】:

如何防止用户直接从 url 访问 .pdf 文件?

我的页面包含多个带有 .pdf href 的 <a>。 我希望如果有人点击这些链接,那么它应该转到相对路径并打开文档。但如果有人试图在其他选项卡中复制和粘贴链接,则不应打开文档。

请帮帮我。

【问题讨论】:

  • 也许吧!但是我怎样才能检查这个 .pdf 文件?这就是我问的原因。 :(
  • 要么编写一个用于提供文件的 php 处理程序(您可能也想使用 PATH_INFO),要么在 .htaccess 中使用 mod_rewriter 编写规则来检查引用者是否正确。但是,您必须知道,所有这些解决方案都很容易解决,知识渊博的人甚至可以在不访问您的下载页面的情况下获取文件。
  • 你只问的意义有限。服务器没有“标签”或类似的概念。您可以 做的就是评估“referer”http 标头,以确定该请求是否真的来自点击的链接。或者您可以使用请求令牌尝试一些 ajax 魔术。但显然所有的标头都可以很容易地被欺骗。所以问题是:为什么你想阻止这样的事情?

标签: php .htaccess


【解决方案1】:

问题已解决。 感谢您宝贵的时间。 这是我在.htaccess 文件中使用的代码。

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/ [NC]
RewriteCond %{REQUEST_URI} !hotlink\.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov) [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule .*\.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov)$ http://example.com/ [NC]

希望现在你们都明白我想要做什么了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 2012-05-22
    • 1970-01-01
    • 2023-03-28
    • 2012-05-03
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多