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

Javascript 如何保护ajax调用(JS到PHP),javascript,php,ajax,security,Javascript,Php,Ajax,Security,我的问题很简单,但我找不到任何关于它的最新信息 基本上,我有一个phonegap应用程序: HTML文件 JS文件 和OVH服务器上的php文件 当应用程序需要对数据库(mysql ovh)进行CRUD时,可以使用ajax调用完成 例如: if(confirm("Delete record ?")){ params = { "action": "delete_record", "record_id": record_id } aja

我的问题很简单,但我找不到任何关于它的最新信息

基本上,我有一个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或通过控制台(如果是web版本)并将参数转换为

params = { 
    "action": "delete_record",
    "record_id": 5
}
并删除记录编号5(这不是他的,他不应该能够)或任何他想要的记录,这样他就可以删除所有记录。

有没有一种我不知道的经典处理方法

我想出了一个解决办法: 我可以将密码存储在中,每次通过ajax访问数据库时,我都会传递用户ID(已经存储在存储器中)和密码。 然后我会在PHP端检查密码和ID是否匹配(有点像日志记录)

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

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


提前感谢,

您需要要求用户先登录。当他们登录时,可以使用用户ID在PHP中设置会话变量。然后当发出
delete\u record
请求时,您检查用户ID是否有删除该记录的权限。

您可以使用/维护不允许php文件的phonegap的php会话吗?您的问题是OVH服务器上的php文件。。php文件仅通过phonegap应用程序的ajax调用使用(仅html/js文件),这就是我所说的。您应该执行一个AJAX调用来登录用户,它将设置一个会话变量。好的,我明白了,我混淆了phonegap“会话”(我用存储创建的)和PHP会话(我不知道它可以只使用AJAX调用来维护会话)。非常感谢:-)