Ajax安全漏洞

时间:2015-02-26 14:01:01

标签: php ajax sql-injection

我很好奇,我很确定我有一个安全漏洞,虽然我不太确定,你们真棒,我想你可以帮助我,所以我得到了这个ajax:< / p>

$.ajax(
{
    url: ...,
    type: "post",
    dataType: 'html',
    data: {current_data:current_data, is_post:is_posted, by_count:by_champion_count, by_arrangement:by_data_arrange, by_date:by_data_date, by_string:by_data_string, sql_line:sql},
    success: function(data)
    {
        ...
    }
});

我用php获取这些值(current_data,is_posted等等)(获得这些非常安全的方式),然后在我的文件中ajax发送变量我从数据库获取更多数据查询,问题是,可以这个领域:

data: {current_data:current_data, is_post:is_posted, by_count:by_champion_count, by_arrangement:by_data_arrange, by_date:by_data_date, by_string:by_data_string, sql_line:sql},

这个字段(数据)可以被用户覆盖,所以他会发送假数据请求吗?

1 个答案:

答案 0 :(得分:1)

您可以选择使系统更安全:

1)虽然如果您的应用将数据发布到数据库中,通过混淆实现安全性并不是一个选项,但如果您的应用只是从数据库获取数据,则可以使用它。

2)您可以传递一些会话ID,该会话ID存储在带有时间戳的数据库表中。然后在PHP中检查时间戳是否小于time()的X秒。如果是,则允许用户发布数据。

3)最安全: 你用你的html页面发送一个(甚至可能是一次性的)密钥,然后当ajax再次发生时,请检查你的php中的密钥。在操作之后,密钥被删除或以某种方式在数据库中变得无效。这实际上是最安全的方法之一,许多网上银行网站都使用它。

我希望我能帮到你, 塞巴斯蒂安