WP上传/选择图片,这不是一个安全问题吗?

时间:2015-04-27 作者:Benn

如果在图像上传框中,我选择一个ziphttp://prntscr.com/6ypjlv, 它不会在文件列表中显示,但已启动http://prntscr.com/6ypjvp

难道我们不应该只在库设置为图像时才能上载图像类型吗?

    thz_media_frame = wp.media.frames.thz_media_frame = wp.media({

        className: \'media-frame thz-media-frame\',
        frame: \'select\',
        multiple: false,
        title: thz_image.title,
        library: {
            type: \'image\' // images only
        }

    });
这个上传文件夹很容易猜测,所以任何想利用它的人都可以简单地上传一个文件,然后去玩。我确信有可能存在媒体上传限制,但我希望如果我说上传图像,那么用户只能上传图像,而不能上传其他内容。

1 个回复
SO网友:Mark Kaplun

不知道代码片段来自何处,但上传文件的安全性应分三步解决

上传权限应仅限于您信任的人(假设您是管理员/所有者),而安全只是部分原因(假设有人将色情上传到教堂网站)

您不应该让php解释器执行uploads目录中的任何内容。这将阻止人们在您的服务器上上载然后执行rouge php脚本。

任何扩展名未经批准的文件都可以作为简单的八位字节流。正确配置这将防止人们上传JS并使用它们窃取cookie。它的一个转折点是为来自不同域的上传文件提供服务。

如何实施步骤2和3取决于您使用的web服务器的类型。

结束

相关推荐

撤消定义(‘UPLOADS’,‘’.‘FILES’);以重指向“wp-Content/Uploads”文件夹

是否可以通过使用将“wp content/uploads”设置为使用不同的文件夹define( \'UPLOADS\', \'\'.\'files\' ); 我已经永久有效地更改了所有路径,如果是这样的话,我如何撤消它,使其指向“wp内容/上传”?我认为只要把define( \'UPLOADS\', \'\'.\'files\' ); 我会解决一个问题,我上传到WP的文件不想下载,因为URL不是文件的正确路径。