gpt4 book ai didi

php - jQuery AJAX 添加/编辑/删除操作可以被黑客攻击吗?

转载 作者:行者123 更新时间:2023-11-29 05:43:44 26 4
gpt4 key购买 nike

只是想知道一个安全问题。现在我正在使用以下函数从我的数据库中删除电影:

    function deleteVideo(video_id){
function mycallbackform(v,m,f){
if(v=="yes"){
$.ajax({
type: "POST",
url: "delete.php?action=video",
data: "video_id=" + video_id,
success: function(html){
if(html == "1"){
//$("#result").html(html);
$("#row_"+video_id).fadeOut("slow");
$("#result").show();
$("#result").html("<div class='notification success png_bg'> <div><?php echo $LANG_video_succesfull_delete; ?> </div></div>");
setTimeout(function(){ $('#result').fadeOut('slow'); }, 5000);
}else{
$("#result").show();
$("#result").html(html);

}
}
});
}
}
$.prompt('Are you sure?',{ buttons: { Ok: 'yes', Cancel: 'no'}, callback: mycallbackform});
}

在后端执行以下代码:

/*** DELETE data ***/
/*** prepare the SQL statement ***/
$stmt = $dbh->prepare("DELETE FROM videos WHERE username=:username AND videos_id=:video_id");
$stmt->bindParam(':username', $currUser);
$stmt->bindParam(':video_id', $video_id);



/*** execute the prepared statement ***/
$stmt->execute();

在这种情况下,用户名存储在 session 中。

用户 A 是否可以通过此代码删除用户 B 的数据?

我想添加一个查询来检查当前用户是否与在数据库中添加视频的用户相同。如果不是,他不能删除数据。但这是必要的还是这段代码足够安全?

提前致谢。

最佳答案

您最好在 session 中存储一个唯一的用户 ID。如果有两个人使用相同的用户名怎么办?


编辑:如果用户名是唯一的,那是很安全的。不可能更改在客户端工作的 session 变量的值,除非您在 PHP 代码中犯了一个可怕的错误。但是,如果您确定 session 变量始终设置正确,则不必担心。

关于php - jQuery AJAX 添加/编辑/删除操作可以被黑客攻击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4483813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com