使ajax参数安全

时间:2014-06-06 07:13:56

标签: ajax security

我想在ajax中的参数中发送电子邮件值。我正在使用以下代码,它正常工作,但我想让它安全。没有用户可以通过在查询字符串中调用此操作或以任何其他方式检查或传递无效值。我怎样才能保证安全?

$.ajax({
      url: '/Application/UserInfo/',
      type: 'POST',
      data:{email:emailid},
      success: function (result) {
        var json = eval(result);              
       }
});

2 个答案:

答案 0 :(得分:0)

如果您不希望任何人看到email参数的值,您应该考虑使用HTTPS。

但是为了传递无效值,你应该使用一些使用此值的验证服务器端

答案 1 :(得分:-1)

如果您完成两个步骤,可能会有所帮助:

首先,您可以使用正则表达式检查具有正确格式的电子邮件:

/^\w[\w|\.\-\_]+@\w[\w\.\-äöüÄÖÜ]+\.[a-zA-Z]{2,18}$/.test(email);

然后您可以加密邮件,然后您可以安全地发送邮件。 我正在使用河豚。在页面加载时,我生成一个设置为我的页面的javascript的键。 javascript和php都有一个河豚控制器,可以加密和解密任何值。我在javascript上加密值并将其发送到服务器。 在那里我解密它并用正则表达式再次检查它。密钥不会再次发送到服务器,它会存储在会话中的某个位置。

要注意电子邮件是否正确,您可以检查域名是否可通过curl左右访问,但我更喜欢向地址发送确认邮件,并等待接受生成的唯一令牌。

如果您只是想确定使用google plus帐户登录的用户,您可以使用google plus api并检查用户是否已登录。如果不是,则不接受。