NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
csrf_filter.hpp
浏览该文件的文档.
1#ifndef NEFORCE_NETWORK_HTTP_CSRF_FILTER_HPP__
2#define NEFORCE_NETWORK_HTTP_CSRF_FILTER_HPP__
3
8
12NEFORCE_BEGIN_NAMESPACE__
13NEFORCE_BEGIN_HTTP__
14
19
31class NEFORCE_API csrf_filter final : public http_filter {
32public:
33 string cookie_name{"XSRF-TOKEN"};
34 string header_name{"X-CSRF-Token"};
35 string form_field_name{"_csrf"};
37 bool enabled{true};
38
39 csrf_filter() = default;
40
41 bool pre_filter(http_request& request, http_response& response) override;
42 void do_filter(http_request& /*request*/, http_response& /*response*/) override {}
43
44 NEFORCE_NODISCARD string name() const override { return "csrf_filter"; }
45
46 // TODO: Synchronizer Token pattern — server-side token storage (in addition to Double-Submit Cookie) for stricter CSRF enforcement
47};
48 // HTTP
50
51NEFORCE_END_HTTP__
52NEFORCE_END_NAMESPACE__
53#endif // NEFORCE_NETWORK_HTTP_CSRF_FILTER_HPP__
string cookie_name
CSRF Cookie名称
void do_filter(http_request &, http_response &) override
核心过滤方法
string header_name
CSRF Header名称
string form_field_name
CSRF表单字段名
seconds token_max_age
Token有效期
string name() const override
获取过滤器名称
bool pre_filter(http_request &request, http_response &response) override
预处理方法
duration< int64_t > seconds
秒持续时间
http_server_response http_response
HTTP响应类型别名
http_server_request http_request
HTTP请求类型别名
HTTP过滤器链实现
HTTP Cookie和会话管理
互斥锁