Apache2 访问Apache模块中Referer字段的API

Apache2 访问Apache模块中Referer字段的API,apache2,apache-modules,Apache2,Apache Modules,我在request_rec*结构中找不到它?有没有一种方法可以在Apache模块中访问它 谢谢 你应该 #apt-get install apache2-prefork-dev 然后 mod_Somename.c在您的Somename目录中。在这个.c文件中,包含请求\u rec*结构。 如果您想尝试完全引用请求,请点击下面的链接 您可以在Apache 2.x模块的输入/输出筛选器函数中访问请求\u rec*: 用于输入过滤器: int do_nothing_input_filter(ap_f

我在request_rec*结构中找不到它?有没有一种方法可以在Apache模块中访问它

谢谢

你应该

#apt-get install apache2-prefork-dev
然后

mod_Somename.c在您的Somename目录中。在这个.c文件中,包含请求\u rec*结构。 如果您想尝试完全引用请求,请点击下面的链接


您可以在Apache 2.x模块的输入/输出筛选器函数中访问请求\u rec*:

用于输入过滤器

int do_nothing_input_filter(ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block,
apr_off_t readbytes)
{
    request_rec *r = f->r;
    (...)
}
对于输出过滤器:

apr_status_t my_output_filter_func(ap_filter_t* f, apr_bucket_brigade* bb)
{
    request_rec *r = f->r;
    (...)
}

该结构在httpd.h中定义。referer存储在请求头中,因此您应该从那里获取referer:

const char* referer = apr_table_get(request->headers_in, "Referer");
const char* referer = apr_table_get(request->headers_in, "Referer");