我有一个页面,用户可以将图像上传到我的网站。
我想要的是,未注册该网站的用户只能上传一次,这与他们输入表单的其他信息一起使用。可以上传,然后刷新页面,但它将是数据库中的一个全新条目,即每个数据库条目不能有多个图像。
注册并登录的用户可以为每个表单上传多个图片。这不是问题。
我的问题是,我希望有一个可靠的解决方案来阻止非注册用户多次上传。
上传完成后我可以删除或禁用上传输入,但这看起来很笨拙,任何半脑的人都可以通过将输入字段放回浏览器代码检查器来轻松绕过它。
以下是我对Kendoui上传者的javascript:
$('#files').kendoUpload({
multiple: function()
{
var r;
call({call: 'user->isloggedin'}, function(data) {
if (data == 1)
{
r = true
} else {
r = false
}
}, false);
return r;
},
async: {
saveUrl: ROOT + 'share/upload',
removeUrl: ROOT + 'share/remove',
autoUpload: true
},
localization: {
select: 'Select car(s) to upload...',
remove: 'Delete'
},
error: function(e) {
var msg = '<b>' + e.files[0].extension + '</b> files can not be uploaded.';
modalError(msg, 'Upload error');
},
upload: function(e) // When each image finishes uploading...
{
},
progress: function(e)
{
},
success: function(e)
{
var name = "_" + e.files[0].name.replace(".", "_");
if (e.operation == 'upload')
{
$('#previews').append('<img style="display:none;" id="' + name + '" src="' + ROOT + 'cars/thumbs/' + e.files[0].name.toLowerCase() + '"/>');
$('#' + name).fadeIn('slow');
}
else if (e.operation == 'remove')
{
$('#' + name).fadeOut('slow', function() {
$('#' + name).remove();
})
}
}
})
答案 0 :(得分:0)
为什么在未注册的用户上传图片时不使用本地存储来跟踪/保存