gpt4 book ai didi

javascript - 如何保护 ajax 调用(JS 到 PHP)

转载 作者:行者123 更新时间:2023-11-27 23:58:09 26 4
gpt4 key购买 nike

我的问题很简单,但我找不到任何相关的更新信息。

基本上,我有一个phonegap应用程序:

  • HTML 文件
  • JS 文件
  • ..

以及 OVH 服务器上的 php 文件。

当应用程序需要对数据库(mysql-ovh)进行CRUD时,可以通过ajax调用来完成。

例如:

if(confirm("Delete record ?")){
params = {
"action": "delete_record",
"record_id": record_id
}
ajax_post(params, function(data){
if(data.status == 'success') {
alert(data.msg);
$.mobile.changePage( "aRandomPage.html");
} else {
alert("erreur : " + data.msg);
}
});
}

注意:ajax_post 只是一个个性化函数,用于执行简单的 ajax post,因此我不必编写文件 URL 等所有信息。

问题是任何人都可以编辑 JavaScript 文件(通过解压缩 .apk、.xap 或通过控制台(如果是网页版本)并将参数转换为强>

params = { 
"action": "delete_record",
"record_id": 5
}

并删除第 5 号记录(这不是他的,他不应该能够)或他想要的任何记录,这样做,他可以删除所有记录。

是否有一种经典的方法来处理我不知道的问题?

我想出了一个解决方案:我可以将密码存储在 storage.setItem("") 中,每次通过 ajax 访问数据库时,我都会传递用户 ID(已存储在存储中)和密码。然后我会在 PHP 端检查密码和 ID 是否匹配(类似于登录)。

这样,我就可以确定发送请求的用户是该记录的所有者并且可以删除它。 (我不明白有人如何绕过它,因为它需要用户的密码)

缺点是在客户端存储密码,不确定它是否更好..

提前致谢,

最佳答案

您需要要求用户先登录。当他们登录时,可以使用用户 ID 在 PHP 中设置 session 变量。然后,当发出 delete_record 请求时,您将检查用户 ID 是否有权删除该记录。

关于javascript - 如何保护 ajax 调用(JS 到 PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081885/

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