我们的任务是通过 apache 反向代理上的参数检查 URL 的完整性。其中一个是从其他 3 个计算得出的哈希值。如果 URL 看起来完好无损,则应该启动反向代理功能。我们的问题是,在检查回 apache 后,我们不知道如何从 php 重新路由请求,因此它将继续/重新启动处理它。
我们尝试使用 file_get_contents() 开始一个新请求,但这不能很好地处理重定向并等待超时。
最好不要在 php 中重新实现反向代理,而是让 apache 执行此操作。我们的哈希检查如下所示:
<?php
$ss=$_SERVER['QUERY_STRING'];
parse_str($ss,$qa);
if (array_key_exists('hash', $qa)&&array_key_exists('id1', $qa)&&array_key_exists('id2', $qa)&&array_key_exists('id3', $qa)) {
$hstr=$qa['id1'].$qa['id2'].$qa['id3'];
$hash=hash_hmac('md5',$hstr, '@#$%^&**&^@ key !@^&*&T^%$');
if ($qa['hash']==$hash) {
在这里我们应该做一些事情,以便 php 将请求传递回 apache 进程队列。
提前致谢!