查看源代码 mod_security 行为 (inets v9.3.1)
安全审计和追踪功能
概要
函数
block_user/4
和 block_user/5
都将用户 User
从目录 Dir
阻止访问指定的时间。
list_auth_users/1
、list_auth_users/2
和 list_auth_users/3
都返回当前已验证用户的列表。身份验证信息存储 SecurityAuthTimeout
秒后被丢弃。
list_blocked_users/1
、list_blocked_users/2
和 list_blocked_users/3
都返回当前被阻止访问的用户列表。
unblock_user/2
、unblock_user/3
和 unblock_user/4
都将用户 User
从 Port
(和 Dir
)的被阻止用户列表中删除。
回调
-callback event(What, Address, Port, Dir, Data) -> term() when What :: auth_fail | user_block | user_unblock, Port :: integer(), Address :: inet:ip4_address() | inet:ip6_address() | string(), Dir :: string(), Data :: [Info], Info :: {Name :: term(), Value :: term()}.
每当 mod_security
Erlang Web 服务器 API 模块中发生事件时,都会调用 event/4
或 event/5
。(如果 Address
未定义,则调用 event/4
,否则调用 event/5
。)参数 What
指定发生的事件类型,是以下原因之一
auth_fail
- 用户身份验证失败。user_block
- 用户被阻止访问。user_unblock
- 用户从阻止列表中删除。
注意
当使用
unblock_user
函数显式地从阻止列表中删除用户时,不会触发事件user_unblock
。
函数
-spec block_user(User, Port, Dir, Seconds) -> true | {error, Reason} when User :: string(), Port :: inet:port_number(), Dir :: string(), Seconds :: non_neg_integer() | infinity, Reason :: no_such_directory.
等同于 block_user/5
。
-spec block_user(User, Address, Port, Dir, Seconds) -> true | {error, Reason} when User :: string(), Port :: inet:port_number(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Dir :: string(), Seconds :: non_neg_integer() | infinity, Reason :: no_such_directory.
block_user/4
和 block_user/5
都将用户 User
从目录 Dir
阻止访问指定的时间。
-spec list_auth_users(Port) -> Users | [] when Port :: inet:port_number(), Users :: [string()].
等同于 list_auth_users/3
。
-spec list_auth_users(Port, Directory) -> Users | [] when Port :: inet:port_number(), Directory :: string(), Users :: [string()]; (Address, Port) -> Users | [] when Port :: inet:port_number(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Users :: [string()].
等同于 list_auth_users/3
。
-spec list_auth_users(Address, Port, Dir) -> Users | [] when Port :: inet:port_number(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Dir :: string(), Users :: [string()].
list_auth_users/1
、list_auth_users/2
和 list_auth_users/3
都返回当前已验证用户的列表。身份验证信息存储 SecurityAuthTimeout
秒后被丢弃。
-spec list_blocked_users(Port) -> Users | [] when Port :: integer(), Users :: [{blocked_user, term(), term(), term(), term()}].
等同于 list_blocked_users/3
。
-spec list_blocked_users(Port, Directory) -> Users | [] when Port :: integer(), Directory :: string(), Users :: [{blocked_user, term(), term(), term(), term()}]; (Address, Port) -> Users | [] when Port :: integer(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Users :: [{blocked_user, term(), term(), term(), term()}].
等同于 list_blocked_users/3
。
-spec list_blocked_users(Address, Port, Dir) -> Users | [] when Port :: integer(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Dir :: string(), Users :: [{blocked_user, term(), term(), term(), term()}].
list_blocked_users/1
、list_blocked_users/2
和 list_blocked_users/3
都返回当前被阻止访问的用户列表。
-spec unblock_user(User, Port) -> true | {error, Reason} when User :: string(), Port :: integer(), Reason :: term().
等同于 unblock_user/4
。
-spec unblock_user(User, Port, Directory) -> true | {error, Reason} when User :: string(), Port :: integer(), Directory :: string(), Reason :: term(); (User, Address, Port) -> true | {error, Reason} when User :: string(), Port :: integer(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Reason :: term().
等同于 unblock_user/4
。
-spec unblock_user(User, Address, Port, Dir) -> true | {error, Reason} when User :: string(), Port :: integer(), Address :: inet:ip4_address() | inet:ip6_address() | string() | undefined, Dir :: string(), Reason :: term().
unblock_user/2
、unblock_user/3
和 unblock_user/4
都将用户 User
从 Port
(和 Dir
)的被阻止用户列表中删除。