Discuz论坛的SVG图片支持
最近几天为了支持svg. 论坛的后台也被我翻了无数遍了。最终抽空在本地的ArchLinux里搭建了一个Discuz论坛。Discuz据说以后只在git库上发布。http://www.discuz.net/thread-3825961-1-1.html
最新的代码https://gitee.com/ComsenzDiscuz/DiscuzX。截个图晒一把最近的成果:
======
目前整理出了一个思路:
由于所有图片附件都会存在一个目录upload/data/attachment里。 后缀名不变,只是文件名被转成hash值了。我们找到对应的代码,然后在显示内容的地方增加
====SVG上传带来的安全性问题
另外,据说svg可以内嵌javascript语言,对服务器是很严重的安全隐患,所以我们到底加不加这个feature呢,
安全问题也是很多服务器不支持客户端上传svg图片的主要原因,https://kinsta.com/blog/wordpress-svg/ 经过本地测试,下面的代码可以在php页面显示svg文件。直接黏贴代码,会被宝塔给拦截,所以就提供附件了。 原来我的一个自以为简单的请求引出怎么多学问:L zeroieme 发表于 2019-1-3 18:20
原来我的一个自以为简单的请求引出怎么多学问
github上找到一个工具,可以对用户上传的svg图片进行安全性检测和清理,https://github.com/darylldoyle/svg-sanitizer
在线测试工具:http://svg.enshrined.co.uk/ 除了钱,啥都不是问题,
关键郭老板没钱,
不过可以搞个众筹,
搞图片很费钱的 mathematica 发表于 2019-1-4 09:19
除了钱,啥都不是问题,
关键郭老板没钱,
不过可以搞个众筹,
你这看明白问题没有。这是技术问题。。。 后缀名会变吧,至少一般的附件会变,常见的图片不会变。
我那天在论坛上搜索了所有的带有jpg的php源码,然后找到所有的数组,都添加上svg后缀,然而还是不生效...放弃了 悲剧,固态硬盘挂了,系统全没了,又花了几个小时的时间安装了Ubuntu系统,搭建好了Discuz,测试了下:
1)上传操作的时候如果点的是图片,不改后缀名,改名字
2)上传操作的时候如果点的是附件,改后缀名和名字
之前我改了多处文件,支持上传图片的方式上传svg,发现data/attachment/目录下有*.svg文件。 考虑到安全问题,得有必要把用户上传的svg文件都给扫描一遍,去掉安全隐患的字段。
页:
[1]