我有一个用户帐户系统和管理员级别。我想要做的是用jquery和PHP请求删除图像,但我担心安全性,因为人们可以使用firebug来查看发送的内容(用户ID,图片ID等等)并在PHP中完成,这样会是什么这样做更好的方法而不用担心这个问题?我可以使用PHP但我希望它能够动画并且不刷新页面。
答案 0 :(得分:2)
如果您不希望用户删除不是他的图片,只需检查他是否拥有该图片。类似的东西:
SELECT * FROM table WHERE image_id='$image_id' AND user_id='$user_id'
$ user_id应包含存储在会话中的用户ID(您用于身份验证的用户ID)
答案 1 :(得分:1)
这取决于你想做什么:
1.您需要管理员删除照片,例如审核,因此您只需从cookie或会话中获取user_id(而不是POST参数),并检查其权限(成为管理员)然后决定做什么
2.您需要用户删除属于himeself的照片,在这种情况下,它与redmoon7777所说的相同,您只需检查cookie或会话中的user_id,看看它与照片的创建者是否相同
答案 2 :(得分:0)
为了获得最佳安全性,所有允许的操作都应该是服务器感知的 - 某种方式。
最有可能的是,会涉及用户会话数据,
检查他们的(会话存储的)授权组并允许ajax请求。
根据特定状态为每个特定的ajax命令设置哈希值。
如果您不想打扰会话逻辑,我相信您最好的安全尝试(部分缺陷)是使用随机私钥散列ajax请求。喜欢
md5(thepk& thedate& theprivatekey)=> as& hash = in ajax url
在ajax请求中,通过重新计算哈希来验证params。
//吨
答案 3 :(得分:0)
eencode ur函数参数,如photo_id使用base64_encode(或其他方式),并在服务器端解码它。通过这种方式,如果用户看到你的参数,他就不能用你的参数做任何事情。