当前位置: 首页 > news >正文

昆明门户网站建设西青区个人网页设计制作软件

昆明门户网站建设,西青区个人网页设计制作软件,领地免费网站,旅游网站建设方案书使用session_exec 、file_fdw以及自定义函数实现该功能。 缺陷#xff1a;实测发现锁用户后#xff0c;进去解锁特定用户。只能允许一次登陆#xff0c;应该再次登陆的时候#xff0c;触发函数#xff0c;把之前的日志里的错误登陆的信息也计算到登录次数里了。而且foreig…使用session_exec 、file_fdw以及自定义函数实现该功能。 缺陷实测发现锁用户后进去解锁特定用户。只能允许一次登陆应该再次登陆的时候触发函数把之前的日志里的错误登陆的信息也计算到登录次数里了。而且foreign table不能在数据库里清理。需要删除对应的pg_log才能使foreign table信息清理掉来重制该用户的密码错误记录。 https://github.com/okbob/session_exec unzip session_exec-master.zip cd session_exec-master/ make pg_config$PGHOME/bin/pg_config make pg_config$PGHOME/bin/pg_config install更改配置文件 logging_collector on log_destination csvlog session_preload_librariessession_exec session_exec.login_namelogin更改完之后需要重启数据库 pg_ctl restart安装file_fdw扩展 cd contrib/file_fdw/ # 安装命令 make make install创建外部表postgres_log create extension file_fdw;CREATE SERVER pglog FOREIGN DATA WRAPPER file_fdw;CREATE FOREIGN TABLE public.postgres_log( log_time timestamp(3) with time zone,user_name text,database_name text,process_id integer,connection_from text,session_id text,session_line_num bigint,command_tag text,session_start_time timestamp with time zone,virtual_transaction_id text,transaction_id bigint,error_severity text,sql_state_code text,message text,detail text,hint text,internal_query text,internal_query_pos integer,context text,query text,query_pos integer,location text,application_name text ) SERVER pglog OPTIONS ( program find /home/pg13/data/log/ -type f -name *.csv -mtime -1 -exec cat {} \;, format csv );grant SELECT on postgres_log to PUBLIC;如下设置的是5次 5次登录失败就锁定用户 create or replace function public.login() returns void as $$ declare res record; failed_login_times int 5; failed_login int 0; begin --获取数据库中所有可连接数据库的用户 for res in select rolname from pg_catalog.pg_roles where rolcanlogin t and rolname !postgres loopraise notice user: %!,res.rolname;--获取当前用户最近连续登录失败次数select count(*)from (select log_time,user_name,error_severity,message,detail from public.postgres_log where command_tag authentication and user_name res.rolname and (detail is null or detail not like Role % does not exist.%) order by log_time desc limit failed_login_times) AWHERE A.error_severityFATALinto failed_login ;raise notice failed_login_times: %! failed_login: %!,failed_login_times,failed_login;--用户最近密码输入错误次数达到5次或以上if failed_login failed_login_times then--锁定用户EXECUTE format(alter user %I nologin,res.rolname);raise notice Account % is locked!,res.rolname;end if; end loop; end; $$ language plpgsql strict security definer set search_path to public; 用户是否被锁/是否允许登陆可以查看pg_roles系统视图里的rolcanlogin字段。 验证密码失败 使用如下语句可以查询登陆失败的记录。 select log_time,user_name,error_severity,message,detail from public.postgres_log where command_tag authentication order by log_time desc limit 10 offset 0 解锁用户命令如下 alter user test_user login; 解锁同时需要删除pg_log下csv文件里的对应有改用户登陆失败的日志记录重制密码登录错误的记录否则可能会重复计算之前的错误登陆记录。
http://www.w-s-a.com/news/1837/

相关文章:

  • 网站建设的参考文献网站设计网页的优缺点
  • WordPress多站點支付插件内江市网站建设培训
  • 做做网站已更新动漫制作专业需要学什么
  • dfv印花图案设计网站网站建设应该应聘什么岗位
  • 网站后台管理系统模板下载专业网站推广的公司哪家好
  • 克拉玛依市建设局网站网页设计板式重构
  • 网站新闻专题怎么做湖南营销型网站建设 要上磐石网络
  • 阿里云发布网站成都轨迹公布
  • php网站源码架构谷歌站群系统
  • 潮州网站seowordpress 调用置顶文章
  • 做带会员后台的网站用什么软件旅游网站建设资金请示
  • 商品网站怎么做wordpress 表情拉长
  • 商城网站设计费用网络公司怎样推广网站
  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站