-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
插件判断图片文件夹的替换太简单粗暴了吧? #80
Comments
嗯 有道理 如果有什么好的解决方案,你可以直接提 PR |
CSS文件 是你通过 Elementor 上传到 upload 里面的吗? 其实不止 Elementor,很多自带上传功能或远程下载功能的插件都存在这个问题,比如 ultimate member 之前我已经在插件里面加入了三个自定义 filter/action,以满足一些定制化需求,但是对于广泛的兼容性处理,一直没有很好的方案,即使用白名单的方案,可能也会有网友来反馈『插件对部分(XXX插件上传的)文件不起作用』 |
我目前直接就是在你的替换函数里面加一个判断,例如Elementor文件夹,判断如果地址字符串中包含这个文件夹,这句替换就不生效。建议可以在配置里面加一个类似于白名单的东西。 |
才看到你已经考虑了白名单。在WINDOWS下有一个叫“映射驱动器”的做法,可以把网络地址映射为本地磁盘,就类似于直接操作磁盘这样。 LINUX 下我没试过,应该可以。 |
方便的话留个联系方式,我们讨论下。插件什么的确实不想写,也懒得去研究。 |
Elementor的CSS文件不是通过系统的上传的,没办法捕获。考虑其他插件,估计这种方式也不全部都用。抛开系统层面的解决办法,我目前也没想到好的解决办法。 |
刚才看了下Elementor的设置。对于CSS文件,可以用包含在页面里面实现。杜绝了和你的插件不兼容的问题,但是这样的增大单个页面的大小,而且很多重复数据下载。所以这只是治标不治本的方法,还是要从根本解决。目前我想到的办法就只能是通过设置白名单,排查UPLOAD下面某个文件夹的文件不上传和在替换路径的时候不替换。 |
我在高级选项里增加了一个新的 https://github.com/IvanChou/aliyun-oss-support/releases/tag/3.2.3 挂载磁盘的方式、或者是 OSS 设置回源的方式,其实都有考虑过,但是毕竟忙又懒 |
测试了一下,有个小BUG,没去看源码。每次保存的时候Files To Exclude都会自动在专柜表达式中添加一个“\”。 |
应该是转义的判断有问题。 |
貌似所有地址都出问题了。3.2.2存储在OSS上的文件是按系统默认的“年/月/文件”的方式存储的。 这个版本地址替换后直接读取的是根目录下的文件。 |
是的,我也发现了,写错了一个地方 然后自动添加 「 \ 」的问题是什么情况,你的表达式是啥,我试试 |
自动添加 「 \ 」的问题也复现了 😂 |
3.2.4 done~ |
大概查看了下,我传图片的文件夹是upload,里面有系统默认的按年份和月份创建的文件夹。也有我其他插件创建的文件夹。处理图片很完美,但是替换路径太简单粗暴了,直接就把upload文件夹路径给换了,也不加个判断。导致了我其他插件放到里面的文件无法调用。例如Elementor插件,有一些CSS文件也是放在upload里面的。建议给加个选项,排查哪些文件夹路径不替换。我不会写插件,直接就修改了你的PHP文件,加了个判断。
The text was updated successfully, but these errors were encountered: