2

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

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

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

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

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

4

2 回答 2

1

尝试以下配置:

<Directory /var/www/cc_jnlp/php/>
    <Files session_init.php>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Files>
</Directory>
于 2012-09-13T12:18:52.923 回答
0

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

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

于 2012-09-18T09:34:31.007 回答