Ajax安全漏洞


Ajax security hole

我很好奇,我很确定我有一个安全漏洞,尽管我不是很确定,你们太棒了,我认为你们可以帮助我,所以我得到了这个ajax:

$.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) 尽管如果你的应用程序将数据发布到数据库中,通过模糊处理实现安全并不是一个真正的选择,但如果你的程序只是从数据库中获取数据,你可以使用它。

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

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

我希望我能帮你,Sebastian