如何使Apache限制对文件的访问,除了内部重定向

时间:2012-09-11 08:33:46

标签: apache2 apache-config apache-modules

我目前正在开发一个Apache模块,在将POST数据从请求解析到另一个页面后,我进行了一个内部重定向到PHP页面,该页面进行了一些最终操作并回显了HTML元刷新标记。这反过来又使浏览器刷新,请求第一页。

问题是,我不希望显式外部请求能够访问该页面,但让模块成功执行内部重定向。

有没有办法可以做到这一点?我尝试过使用:

<Directory /var/www/cc_jnlp/php/>
    <Files session_init.php>
        Order allow,deny
        Deny from all
    </Files>
</Directory>

...但这只会阻止所有请求,无论是否是内部重定向。

2 个答案:

答案 0 :(得分:0)

尝试使用以下配置:

<Directory /var/www/cc_jnlp/php/>
    <Files session_init.php>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Files>
</Directory>

答案 1 :(得分:0)

一种好的方法是发送带有请求的东西,将其识别为合法的。我的第一种方法是在服务器活动开始时生成一个大的随机数,并将其与数据一起传输。该模块将识别对该页面的所有请求,并拒绝那些不包含该特定查询参数的请求。问题是,这很容易受到强制攻击,而对付它的唯一方法就是增加密钥大小。

我的最终解决方案将使用Apache Notes系统来传输数据,并假设只有Apache服务器本身可以操作该数据,我们可以安全地拒绝所有不包含它的请求。