保护wordpress用户上传

时间:2016-11-21 22:29:54

标签: php wordpress .htaccess security file-upload

我有会员网站,每个用户都有一个特定页面,有自己的数据。他们可以在wordpress上传中将图像上传到自己的文件夹中。这个设置中存在一个主要的安全漏洞,因为任何人都可以摆弄搜索其他用户图像的URL。我也无法访问Apache .conf文件。目前我唯一的 security 形式是为文件名生成长的alfanumeric字符。 如何保持上传的成员文件仅对首先上传它们的用户可用?我未能成功确保这一点:

1。使用以下内容将.htaccess添加到uploads目录:

jQuery (document).ready(function($){
    var playing = false;
    $('[data-music]').on('click', function(e) {
            var FFplayer = $(this).data('music');
            $("#" + FFplayer).toggleClass("audio-hidden audio-shown");
            var audioId = $("#" + FFplayer).find('audio').attr('id');
            if (playing == false) {
                $("#" + audioId)[0].play();
                playing = true;
            } else {
                $("#" + audioId)[0].pause();
                playing = false;
            }
    });
});

这不够安全,因为用户仍然可以搜索将网址插入IndexIgnore * Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost\.com/ [NC] RewriteCond %{REQUEST_URI} !hotlink\.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx) [NC] RewriteRule .*\.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx)$ http://disney.com/ [NC]

的文件

2。在webroot之外移动wordpress上传

<img src="">

文件是通过$ wp_upload [&#39; basedir&#39;]正确上传的,但不允许我用$ wp_upload [&#39; baseurl&#39;]显示图片。我得到:

  

net :: ERR_NAME_NOT_RESOLVED

     

警告:is_dir():open_basedir限制生效。文件(/)不在允许的路径中:

0 个答案:

没有答案