系统设置
全局设置
可以直接修改BASK_PROPERTY表来调整系统的全局配置
| KEY | 说明 | 默认值 |
|---|---|---|
| bask.application.title | 浏览器中的标签页的标题 | Bask Server Console |
| bask.favorite.maxCount | 默认收藏夹数量 | 50 |
| bask.recent.maxCount | 默认访问历史数量 | 50 |
| bask.invite.expirytime | 邀请链接超时时间(秒) | 1800 |
| bask.application.login.loginpage | 默认登录界面 | /baskserver/login |
| bask.application.login.usecaptcha | 是否启用登录页面的验证码 | true |
| bask.security.enable | 是否启用安全框架 | true |
| bask.application.showExceptionStackTrace | 是否向客户端输出异常堆栈 | true |
| bask.tenant.create | 是否自由创建团队 | false |
| bask.application.serverPath | Bask Server 服务PATH | /baskserver |
| bask.security.file.enableAllUser | 新增文件或文件夹是否默认启用All用户的访问权限 | true |
| bask.job.checkin.interval | Job同步检测时间间隔 | 600 |
| bask.mail.title | 邮件通知标题 | Bask Server |
| bask.mail.smtp.host | SMTP服务器 | smtp.163.com |
| bask.mail.smtp.port | SMTP端口 | 25 |
| bask.mail.smtp.auth | 需要验证用户名密码 | true |
| bask.mail.smtp.user | 发件人 | admin@163.com |
| bask.mail.smtp.pass | 授权码 | basksoft |
图片与静态资源
以下参数同样通过 BASK_PROPERTY 表配置。
图片加载
报表、仪表板中的图片源支持 http(s):// 远程地址与 classpath: 地址。为防范 SSRF(服务端请求伪造)与任意 classpath 文件读取,图片加载受以下参数约束。
| KEY | 说明 | 默认值 |
|---|---|---|
| bask.image.url.allowedSchemes | 允许下载图片的协议白名单(逗号分隔) | http,https |
| bask.image.url.allowedHosts | 允许访问的主机白名单(逗号分隔),非空时仅允许访问名单内地址 | 空(不启用) |
| bask.image.url.blockedHosts | 禁止访问的主机、域名、IP 或网段(逗号分隔) | localhost,.local,.internal,metadata,metadata.google.internal |
| bask.image.url.blockedNetworks | 禁止访问的网段(逗号分隔,对域名解析结果生效) | 0.0.0.0/8,10.0.0.0/8,100.64.0.0/10,127.0.0.0/8,169.254.0.0/16,172.16.0.0/12,192.168.0.0/16,::/128,::1/128,fc00::/7,fe80::/10,ff00::/8 |
| bask.image.url.allowedPorts | 允许访问的端口白名单(逗号分隔),为空表示不限制 | 空(不限制) |
| bask.image.url.followRedirects | 是否跟随 301/302 重定向,开启后每一跳都会重新校验 | false |
| bask.image.url.maxRedirects | 最大重定向次数 | 3 |
| bask.image.url.maxSize | 单张图片最大字节数 | 10485760(10MB) |
| bask.image.url.trustAllCertificates | 是否跳过 HTTPS 证书校验(仅影响图片下载,不影响系统其他 HTTPS 调用) | false |
| bask.image.classpath.allowedExtensions | classpath: 图片允许的扩展名(逗号分隔) |
png,jpg,jpeg,gif,bmp,ico,webp,svg,tif,tiff |
| bask.image.classpath.maxSize | classpath: 图片最大字节数 |
10485760(10MB) |
| bask.image.url.connectionTimeout | 图片下载连接超时(毫秒),未配置时兼容旧参数 baskreport.image.connectionTimeout |
5000 |
| bask.image.url.readTimeout | 图片下载读取超时(毫秒),未配置时兼容旧参数 baskreport.image.readTimeout |
10000 |
主机规则写法
- 精确域名:
img.example.com - 通配子域:
*.example.com,匹配a.example.com、a.b.example.com,不包含example.com本身(需要时单独配置) - IP:
192.168.10.20 - 网段:
10.0.0.0/8、fc00::/7(IPv6 同样支持)
规则匹配大小写不敏感,忽略末尾的 .(如 example.com.)。allowedHosts 只放宽“主机”这一层,blockedNetworks 对解析出的每个 IP 依然生效;域名会先解析,再对所有解析结果做网段校验,下载时固定使用校验过的 IP,避免 DNS rebinding。
内网图床配置示例
图片存放在内网服务器时需要显式放行,同时从网段黑名单中移除对应网段:
bask.image.url.allowedHosts=img.example.com,192.168.10.20
bask.image.url.blockedNetworks=0.0.0.0/8,127.0.0.0/8,169.254.0.0/16,::/128,::1/128,fe80::/10,ff00::/8
静态资源(/res)
/res/** 用于输出 baskreport、basktext、baskadapt 等模块的前端构建产物,采用“目录前缀 + 扩展名”双白名单,未命中白名单的请求一律返回 404,避免读取 classpath 上的 .properties、.yml、.sql、.xml、.class 等敏感文件。
| KEY | 说明 | 默认值 |
|---|---|---|
| bask.resource.allowedPrefixes | 允许访问的 classpath 目录前缀(逗号分隔),为追加式配置,默认项无法被删除 | bask/,baskreport/,basktext/,baskadapt/,dashboard/,images/ |
| bask.resource.allowedExtensions | 允许访问的文件扩展名(逗号分隔) | js,css,map,html,htm,data,png,jpg,jpeg,gif,svg,ico,cur,webp,ttf,woff,woff2,eot |
已注册模块的服务地址会自动并入目录前缀白名单;自定义模块若把静态资源放在其他目录,需要通过 bask.resource.allowedPrefixes 追加。