搜索全站
建站 9 分钟阅读

政府/学校/事业单位网站合规建设要点:栏目、审核与安全保障

承接这类站点最怕的不是技术实现,而是漏项。本文从信息栏目设置、发布审核制度、无障碍与访问可用性、以及系统等保定级几个维度,给出一份交付前的自查清单。

U
UFO_PF 2017-03-31 · 阅读 9 分钟
政府 建站
阅读提示
本文约 3,241 字,预计阅读 9 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:上线验收被打回三次,问题都在”少了几个栏目”

做党政机关、学校、事业单位网站的共同经历是:功能都做完了,验收时却被指出”没有政策解读栏目””没做互动留言办理””IPv6 打不开”。这些不是 WordPress 的技术难点,而是规范层面的必答题。和普通企业官网不同,这类站点的评价体系里功能排列第二,合规性与信息可用性排第一。承接方如果按”企业官网”的惯性做事,返工几乎不可避免。

原理分析:合规要求主要落在四个层面

第一层是信息内容与栏目结构。这类站点通常要求有明确的法定栏目:信息公开(含目录与指南)、政策文件与解读、办事服务入口、互动交流(留言办理、征集调查)、机构概况与联系方式。缺失任何一项,在抽查或普查中都算问题。

第二层是发布审核制度。业内通行的做法是”三审三校”:拟稿人自校、编辑部初审、分管负责终审,重要稿件还需责任人核签。技术上要体现差异:不同人员不同角色、发布留痕可追溯。

第三层是访问可用性与无障碍。对公众服务性站点,通常要求 IPv6 可达、支持常见浏览器与移动端适配,以及达到一定水平的信息无障碍(例如按键可达、足够的颜色对比度、图片有替代文字)。

第四层是网络安全。这涉及等级保护定级与备案(依据 GB/T 22239-2019 等基本要求,二级、三级为常见等级),以及日志留存、漏洞修复、应急预案等制度化要求。这一部分通常由专业测评机构出具报告,建站方负责提供符合性的技术条件。

层面 可见产出 常见漏项
栏目结构 导航菜单、专题页 政策解读、留言办理入口
审核发布 角色划分、操作日志 无留痕、无审核流
可用性 IPv6、移动端、无障碍 仅 IPv4、未做键盘可达
安全保障 等级保护报告、备份 日志留存不足六个月

保姆级实操

步骤 1:把栏目结构建成信息架构,而不是临时页面。 用 WordPress 菜单 + 自定义文章类型组织,法定栏目用 register_post_type 独立承载,便于后续统计与导出:

add_action( 'init', function () {
    register_post_type( 'info_open', [
        'labels'      => [ 'name' => '信息公开', 'singular_name' => '信息公开条目' ],
        'public'      => true,
        'has_archive' => true,
        'rewrite'     => [ 'slug' => 'info-open' ],
        'supports'    => [ 'title', 'editor', 'excerpt' ],
        'show_in_rest'=> true,
        'menu_icon'   => 'dashicons-media-document',
    ] );
    register_post_type( 'policy_read', [
        'labels'      => [ 'name' => '政策解读', 'singular_name' => '政策解读' ],
        'public'      => true,
        'rewrite'     => [ 'slug' => 'policy-read' ],
        'has_archive' => true,
        'supports'    => [ 'title', 'editor', 'thumbnail' ],
        'show_in_rest'=> true,
    ] );
} );

步骤 2:建立三级审核角色。 沿用前面讲过的分角色思路:撰稿人只能投稿,编辑可单篇终审,主编负责发布,所有状态变化写入日志(可参考 transition_post_status 钩子)。

步骤 3:互动留言要有闭环。 留言表单建议不要用纯邮件外发(容易丢),而是入库 + 后台流转 + 生成办理状态:

add_action( 'wp_insert_post', function ( $post_id, $post ) {
    if ( 'public_message' !== $post->post_type ) {
        return;
    }
    update_post_meta( $post_id, '_msg_status', 'received' );
    update_post_meta( $post_id, '_msg_received_at', current_time( 'mysql' ) );
}, 10, 2 );

步骤 4:IPv6 与 HTTPS 同期交付。 Nginx 侧监听双栈:

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.gov.cn;
    ssl_certificate     /etc/nginx/ssl/example.crt;
    ssl_certificate_key /etc/nginx/ssl/example.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    add_header Strict-Transport-Security "max-age=31536000; preload" always;
}

步骤 5:日志留存与安全配置。 access_log 建议按月切分并留存不少于六个月(人力和磁盘允许的话更久);同时关闭 XML-RPC、限制登录尝试、禁止目录列表:

location = /xmlrpc.php { return 403; }
autoindex off;
server_tokens off;

步骤 6:交付前跑一遍可用性自查。 用 curl -6 验证 IPv6 可达,用键盘 Tab 走一遍主导航,检查图片 alt、表单 label 是否齐全,检查是否存在错链与空白页面。网站无障碍改造要点

常见踩坑

  1. 把法定栏目做成了”导航文字 + 一个静态页面”,后续无法分类检索。
  2. 案例: 某单位站上线后被指出”政策解读”栏目长期空白,原因是该栏目是静态页,编辑找不到后台入口,三年没更新一条内容。
  3. 所有工作人员共用一个管理员账号,发布无法追溯,也不符合审核分权要求。
  4. 留言表单直接写信箱,某次邮件服务商拒绝后,群众留言静默丢失一个月没人发现。
  5. 只配了 IPv4 的 DNS A 记录,没有 AAAA 记录,IPv6 环境完全打不开。
  6. 等级保护测评时才补买 WAF 与日志审计,导致整改周期翻倍。
  7. 用了国外的 CDN 与字体 CDN,部分地区加载失败甚至引发合规疑问——字体、统计、地图等第三方资源要本地化。网站 ICP 备案流程详解

总结

这类站点的判断标准是:栏目是否按规范齐备、发布是否可追溯、访问是否无障碍且 IPv6 可达、安全是否有成套制度。行动清单:法定栏目结构化建模 → 三审三校角色划分 → 留言系统闭环入库 → 双栈 HTTPS → 日志留存与加固 → 交付前可用性走查。技术从来不是这里的主要难点,难点在于把”规范”翻译成具体的信息架构与流程。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。