我有会员网站,每个用户都有一个特定页面,有自己的数据。他们可以在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限制生效。文件(/)不在允许的路径中: