Docker安装kkfileview,kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法,动态水印 kkfileview漏洞修复

这篇具有很好参考价值的文章主要介绍了Docker安装kkfileview,kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法,动态水印 kkfileview漏洞修复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.Docker安装kkfileview

2.kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法

2.1. 物理机或虚拟机上运行 

2.2. Docker容器环境环境运行 

3.docker中更改kkfileview的配置文件application.properties

4.如何水印文本内容动态传值

动态水印

静态水印

5.扩展漏洞,修复

5.1 延伸:升级到4.1.0 版本后,提示限制目录运行

6.添加Office支持


1.Docker安装kkfileview

2.kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法

由于在docker中每个容器都是独立的,存在此问题是因为部署docker后在容器中并没有对应的字体样式,因此会出现此问题,解决此问题的办法是将系统中的字体目录映射到kkfileview启动容器中的目录,以linux服务器为例,按照官网的部署方式:

2.1. 物理机或虚拟机上运行 #

从 码云发行版本 下载最新版发行包

解压kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包)

打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh)

浏览器访问本机8012端口 http://127.0.0.1:8012 即可看到项目演示用首

2.2. Docker容器环境环境运行 #

拉取镜像

docker pull keking/kkfileview

原运行方式:

docker run -it -p 8012:8012 keking/kkfileview

修改为:

下载如下字体包 http://kkfileview.keking.cn/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行命令:mkfontscale 、mkfontdir 、fc-cache使字体生效

运行docker时,将其目录映射到容器中

运行方式修改为:

docker run -it -p 8012:8012 -d --privileged=true -v /usr/share/fonts/:/usr/share/fonts keking/kkfileview

浏览器访问容器8012端口 http://xxx.xxx.xxx.xxx:8012 即可看到项目演示用首页

docker 部署kkfileview,Docker,文件处理-MinIO,docker,容器,运维


3.docker中更改kkfileview的配置文件application.properties

项目需要对kkfile指定预览文件的路径地址,需要在docker中更改或者外挂新的配置文件.

docker中kkfileview的配置文件地址为/opt/kkFileView-xxx/config(xxx为kkfileview的版本号,看你安装的是什么版本,比如我的是/opt/kkFileView-3.5.1/config)

修改该配置文件功能,如:水印,控制下载,预览等

docker 启动时外挂配置文件方式

run命令后面加上 -v (新的配置文件地址):/opt/kkFileView-3.5.1/config/application.properties


【注】一般容器里面的 Linux是精简版的,没有 less 、cat 、vim/vi 等命令,如果需要的话可以自己安装,默认自带 APT 命令。

APT安装vim,先进入需要安装的容器(docker exec -it 容器标识 bash ),再执行如下命令:

更新:

apt update

安装vim:

apt-get install vim


4.如何水印文本内容动态传值

动态水印:

在预览url后面加上参数&watermarkTxt即可
var url = ‘http://127.0.0.1:8080/file/test.txt’;

//要预览文件的访问地址

window.open(‘http://127.0.0.1:8012/onlinePreview?url=’ + encodeURIComponent(url) + ‘&watermarkTxt=’ + encodeURIComponent(‘动态水印’));

静态水印:

直接在application.properties配置文件中修改:watermark.txt = ${WATERMARK_TXT:我的水印}

5.扩展漏洞,修复:

kkFileView-4.0.0及以前的版本,存在任意目录访问漏洞;建议升级到kkFileView-4.1.0及++版本;

漏洞复现:

http://localhost:8012/getCorsFile?urlPath=file:///etc/passwd

docker 部署kkfileview,Docker,文件处理-MinIO,docker,容器,运维

5.1 延伸:升级到4.1.0 版本后,提示限制目录运行:

路径加一个斜杠/,成功突破目录限制预览,但是暴500错误,

file:///etc/passwd 也是 500;base64也是 500。 

应该目录限制是突破了,这个500错误暂时不清楚情况。

好像全站不支持脚本运行,附件上传默认上传到tmp目录,可以上传/etc/passwd.jsp 然后预览会在 tmp上级目录上传一个passwd.jsp,但是继续跳转目录不能成功。
 

6.添加Office支持:

首先安装 开源OFFICE openoffice或LibreOffice 建议安装LibreOffice;

LibreOffice或OpenOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)。

修改kkfileview配置参数 : office.home

cd kkFileView-4.1.0/config/application.properties

# 说明:加粗标识具体情况修改
server.port = ${KK_SERVER_PORT:8012}
 
#文件资源路径
file.dir = ${KK_FILE_DIR:/data/app/kkfileview/kkFileView-4.1.0/temp}
 
###################### office-plugin #####################
##office服务的进程数,默认开启两个进程
office.plugin.server.ports = 2021,2022
 
#office组件home路径, Linux查看路径:which libreoffice*
# linux中目录是/opt/libreoffice7.1,差异版本不同
office.home = ${KK_OFFICE_HOME:/opt/libreoffice7.4}

 如果本地没有安装libreoffice,则参考:

链接地址1,链接地址2,链接地址3最全

Windows环境开发参考链接, 前端应用链接


如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。文章来源地址https://www.toymoban.com/news/detail-625444.html

到了这里,关于Docker安装kkfileview,kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法,动态水印 kkfileview漏洞修复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Docker安装和部署Elasticsearch出现问题以及解决方案

    docker安装elasticsearch(最详细版)| Bright1668-CSDN es在Windows环境启动报错 | 你道本部院是个书生-CSDN 查看max_map_count的值 默认是 65530 。 重新设置max_map_count的值。 –name es:设置容器的名称为\\\"es\\\"。 -p 9200:9200 -p 9300:9300:这部分将主机的端口与容器的端口进行映射。 -e “discovery.ty

    2024年02月09日
    浏览(58)
  • Docker 安装部署jenkins服务,安装插件出现错误,安装插件异常 版本异常插件不可用问题

    一、本文采用jenkins:2.262版本,采用离线方式直接安装插件 拉取jenkins镜像并docker部署服务后,会发现jenkins安装插件,出现连接错误。这是由于目前无法访问jenkins官方的插件库,本人尝试过在hudson.plugins.git.GitTool.xml文件中修改插件地址为国内仓库或进入/pluginManager/advanced修改

    2024年02月10日
    浏览(50)
  • Docker(02) Docker部署Nginx后出现403 forbidden解决办法

      打开/data/nginx/log/error.log查看  推测可能是因为该文件夹下面没有这个文件。此处回顾一下我的挂载方式。 1. 在挂载之前,先不挂载 nginx.conf(因为会报错), 2. 从其他的nginx容器中复制 nginx.conf 出来 3.可以自行修改 nginx.conf,自定义配置项 4.创建正式使用的 nginx 容器 1.我在

    2024年02月05日
    浏览(41)
  • docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_部署01

    1. 创建onlyoffice容器 下面命令作用:拉取镜像、映射宿主机端口和docker内部端口、创建宿主机和docker容器挂载目录、拉取指定版本的onlyoffice/documentserver 2. 启动在线案例 执行命令 3. 开放防火墙 4. 浏览器验证 点击GO TO TEST EXAMPLE 测试页面 5. 上传文件测试 6. 在线编辑 7. 测试主页

    2024年02月13日
    浏览(54)
  • kkfileview安装部署Linux(CentOS、Debian)

    运行启动程序 观察日志, kkFileView 服务启动完成 http://ip:8081/index https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_deb.tar.gz 解压.tar.gz文件后,你会在文件夹下看到一个新的 LibreOffice Deb 文件夹。 运行上面的命令后,LibreOffice 将被安装并可以使用了 至此可继续上面CentOS RPM中的第三

    2024年02月07日
    浏览(40)
  • docker安装OnlyOffice7.3社区版本实现预览和编辑文档

    根据官网进行安装 安装 ONLYOFFICE Workspace 的最简单方法是使用我们的 Docker 脚本。如果希望完全控制安装过程,则可以手动安装所有组件。 ONLYOFFICE Workspace 包括以下组件:ONLYOFFICE Community Server、ONLYOFFICE Control Panel、ONLYOFFICE Docs 和 ONLYOFFICE Mail。要安装所有这些并相互集成,请按

    2024年02月07日
    浏览(39)
  • kkfileview在预览word文档中文乱码

    因为liunx服务器没有相关中文字体 1.下载中文字体包 http://kkfileview.keking.cn/fonts.zip 2.上传服务器至目录/usr/share/fonts 解压 unzip fonts.zip 3.执行命令 mkfontscale mkfontdir fc-cache 如果报错命令没有找到,则安装对应命令,例如 yum install -y mkfontscale 4.赋予字体权限 [root@lingtan01 zhFonts]# chm

    2024年02月05日
    浏览(44)
  • kkfileview Word文件预览乱码异常问题

    本篇文章以CentOS为例 这里处理的是服务器没有相关中文字体的解决方案 下载中文字体包 线上 上传服务器至目录/usr/share/fonts  将文件上传至该文件夹下,解压 unzip fonts.zip,以下是解压后的文件目录 字体权限  执行以下代码,给字体添加权限  已下是执行后的状态  执行命令

    2024年01月16日
    浏览(74)
  • SpringBoot:kkFileView万能文件在线预览(已开源)

    在之前的文章中,我们使用MinIO实现了文件存储,用于存储各种格式的文件。有时候我们不仅需要文件存储,还需要文件的在线预览。这里给大家推荐一个基于SpringBoot的文件预览神器kkFileView,基本支持主流文件的在线预览,使用也很简单,希望对大家有所帮助! kkFileView可以

    2024年02月10日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包