htaccess - 阻止人们直接访问特定文件

时间:2011-03-27 09:45:45

标签: ajax .htaccess file-access

我通过ajax加载特定文件,但是如何直接阻止人们访问这些文件?

顺便说一下,所有这些特定文件都位于:/ajax/目录

这只适用于.htaccess吗?如果是的话,怎么样?

3 个答案:

答案 0 :(得分:0)

您可以尝试检查引荐来源,如果没有,则可以直接访问。这不是防弹,因为推荐人可以伪造。

答案 1 :(得分:0)

  

我通过ajax加载特定文件,但是如何直接阻止人们访问这些文件?

你不能可靠。服务器无法区分Ajax呼叫与任何其他呼叫。

然而,有一些迹象表明通常指向一个Ajax调用的调用。 (请记住,这可以由客户随时伪造。)在这个问题中讨论了它们:How to differentiate Ajax requests from normal Http requests?

答案 2 :(得分:0)

你不能,至少不是以可靠的方式。如果浏览器可以使用AJAX调用访问这些文件,则可以访问它们。

你可以做一些hacky事情,比如在你的AJAX调用中设置一个特殊的Header并在服务器中检查它们,但这很容易被伪造。 Referer检查也是如此。

如果您需要某种访问控制,则必须使用服务器端侧代码来验证请求。由于AJAX-Request来自浏览器,因此它们将携带域cookie(如果设置),以便您可以检查用户是否已登录。或者仅返回用户应该能够看到的数据。

请记住:如果客户端代码可以访问数据,攻击者始终可以访问数据。绝对没有办法阻止这种情况。