阻止直接访问json文件

时间:2017-11-06 17:35:40

标签: apache .htaccess httpd.conf

尝试deny直接访问json文件,尝试:

RewriteRule ^(api/|category\.json) - [F,L,NC]

但没有工作。

我使用此文件进行ajax通话,但我不希望任何人都可以直接访问此文件。

$.ajax({
type: "POST",
dataType: 'json',
url: 'api/category.json',
success: function(data){
$.each(data, function(i,v) {
// do something
});

想知道有没有办法做到这一点?通过htaccesshttpd.conf或其他?

1 个答案:

答案 0 :(得分:0)

AFAIK,如果您可以使用HTTP GET命令访问该文件,您必须使用Ajax调用,那么您也可以访问该文件并直接下载。

对不起。

但是,您至少可以将Apache服务器配置为不允许直接索引该目录。搜索"选项" httpd.conf文件中的指令,如果它有一个"索引"标记,删除它或添加一个减号,例如,

Options -Indexes

这样,至少人们只是通过远程浏览目录而不知道文件就在那里。

你可以"最小化"您的Javascript文件(包含您的Ajax调用的文件)删除所有注释和空格。在网上搜索执行此操作的工具。因为,如果有人可以阅读您的Javascript,他们可以确切地看到您的Ajax正在获取" api / category.json&#34 ;;当然他们也可以。

他们仍然可以阅读"最小化"脚本无论如何,加上有工具来减少"去减少"它,但它可能足够麻烦,以便大多数人不会打扰。

我建议你尽量避免在该文件中放入任何真正深刻的黑暗秘密,因为,如果你的Ajax可以获取它,那么其他人也可以获得底线。