如何阻止直接访问我的JavaScript文件?

Chr*_*nte 7 javascript php minify

我使用Minify来缩小和缓存我的所有脚本请求.我只希望我的用户能够访问JavaScript文件的缩小版本.

缩小谎言,www.example.com/min我的脚本在www.example.com/scripts.如何阻止直接访问doc_root/scripts我未明确的JavaScript文件所在的位置.我宁愿不把它们从文档根目录中删除,但它是一个选项.

请注意我正在使用Zend Framework,因此我的应用程序的实际根目录转移到了www.example.com/public.htaccess文件处理重写.

Dar*_*ien 10

你不能只在里面使用.htaccess文件doc_root/scripts来防止.js通过HTTP 访问网络上的文件吗?

它不会停止缩小,因为它提供间接访问.

所以,在doc_root/scripts/.htaccess某些方面

<Files ~ "\.js$">
    order allow,deny
    deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

请注意,.htaccess在这种情况下,文件的位置很重要.


dtb*_*rne 5

您实际上不能阻止面向最终用户的代码。即使您使用PHP或另一种服务器端语言为其提供了服务并阻止了直接请求,当然仍然可以使用许多工具直接读取它。

您应该牢记这一点,并注意javascript注释,业务知识等。

更新:

但是,如果您谈论的是最终用户永远不需要访问的代码,则可以按照您提到的将其移出服务器根目录,或者可以阻止目录(或整个目录)中的文件。目录)。使用Apache的.htaccess很容易。

order deny, allow
deny from all
Run Code Online (Sandbox Code Playgroud)

您也可以在.htaccess文件中使用mod_rewrite将源文件重定向到缩小版本。

RewriteEngine On
RewriteRule /scripts/(.*)$ /min/$1 [L,NC]
Run Code Online (Sandbox Code Playgroud)

  • 然后不要将原始的未挖矿版本保存在可公开访问的区域。将它们移到文档根目录之外,如果不能这样做,请将其放入“无法使用的”子目录中,并且不要在任何公开页面中引用它。 (2认同)