首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在上传文件[Wordpress]时禁用替换空格为破折号

在上传文件[Wordpress]时禁用替换空格为破折号
EN

Stack Overflow用户
提问于 2017-10-19 07:20:01
回答 2查看 677关注 0票数 1

在上传文件时,是否有任何方法禁用将空格替换为Wordpress中的破折号?我有带有mp3文件的网站,例如,我有文件:

"Author - Track Title (Original Mix).mp3"和上传后,它转换为

代码语言:javascript
运行
复制
"Author-Track-Title-(Original-Mix).mp3"

我知道这是因为安全原因,但在其他网站上,当你下载一个文件时,它可以用正常的文件名下载,不需要破折号。怎么修呢?

EN

回答 2

Stack Overflow用户

发布于 2017-10-19 09:33:41

这些空格在wordpress中被替换,因为有些应用程序不会打开它们,比如在旧XP和其他应用程序中,而且它们在url中无效。

有时您会遇到反斜杠的问题,这通常取决于安全来阻止代码注入攻击。

作为一个解决方案,您可以尝试这个从‘核心’网站-但这可能总是失败的更新wordpress!

代码语言:javascript
运行
复制
if ( '' == $url )
                 return $url;
        $url = str_replace(' ', '%20', $url);
     $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);
         if ( 0 !== stripos( $url, 'mailto:' ) ) {
                 $strip = array('%0d', '%0a', '%0D', '%0A');
                 $url = _deep_replace($strip, $url);
         }

         $url = str_replace(';//', '://', $url);
         /* If the URL doesn't appear to contain a scheme, we
          * presume it needs http:// appended (unless a relative

来源:https://core.trac.wordpress.org/attachment/ticket/23605/23605.diff

票数 0
EN

Stack Overflow用户

发布于 2017-10-19 09:39:28

您应该永远不要在您的系统中没有安全的urls。会出现一些奇怪的情况:文件“神奇地”不存在,文件名函数行为怪异,URL越来越难创建,等等。

TL;DR:不要这样做,

当用户上传一个文件时,将文件名转换为一个安全的,但也可以将原始文件名存储在数据库中。然后,当您将它返回给用户时,您可以将下载的头/文件名设置为存储的名称,而内部则有一个很好的安全url。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46824549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档