我很好奇,我很确定我有一个安全漏洞,尽管我不是很确定,你们很棒,我认为你们可以帮助我,所以我得到了这个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)
{
...
}
});我得到这些值(current_data、is_posted等)使用php(获取这些非常安全的方式),然后在我的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},这个字段(数据)是否会被用户覆盖,从而发送虚假的数据请求?
发布于 2015-05-22 01:03:50
您有一些选项可以让您的系统更安全:
1)虽然如果你的应用程序将数据发布到数据库中,通过模糊处理的安全性并不是一个真正的选择,但如果你的应用程序只是从数据库中获取数据,那么你可以使用它。
2)您可以传递某个会话id,该id存储在带有时间戳的数据库表中。在你的PHP中,你可以检查时间戳是否比time()的时间戳差X秒。如果是,则允许用户发布数据。
3)最安全:你用html页面发送一个(甚至可能是一次性的)密钥,然后当ajax再次发生时,检查你的php中是否有这个密钥。在该操作之后,密钥在数据库中被删除或以某种方式无效。这确实是最安全的方法之一,许多在线银行网站都使用这种方法。
我希望我能帮到你,塞巴斯蒂安
https://stackoverflow.com/questions/28744421
复制相似问题