首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >POST方法、Ajax和安全性?

POST方法、Ajax和安全性?
EN

Stack Overflow用户
提问于 2009-12-20 15:36:08
回答 2查看 1.6K关注 0票数 3

我使用Ajax (jQuery)和POST方法更新数据库中的数据。我所做的工作如下:

  • 从表单中获取数据: user_id,entry_id,content,.
  • 将它们发送到一个URL,该URL将处理数据。
  • 如果数据有效,我们将把它们记录在数据库中。

我不知道如何验证用户是否从我的网站,而不是从其他地方发送数据。请帮我解决这个问题。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-20 15:39:53

你在试图抵御CSRF的攻击。

标准的防御措施是在POST中有一个请求令牌,从不同的AJAX请求中检索该令牌。由于浏览器的跨域防御,您域之外的Javascript将无法获得令牌。

票数 5
EN

Stack Overflow用户

发布于 2009-12-20 15:46:57

这里有几个问题:

  1. 进行操作的用户的身份验证和授权
  2. 对CSRF的保护。

决定你该做什么。第一个应该能够通过cookie、HTTP身份验证(浏览器也发送给AJAX请求)或一些自定义方法(例如包含身份验证的额外参数)来处理。

CSRF是另一回事,但是您可以很容易地避免它,方法是确保请求真的是通过AJAX传入的,而不是通过普通的表单发布。这应该是可以实现的,通过附加一个额外的标题,有些人不能通过创建HTTP表单来添加(注意:并非所有的标题都可以由Javascript添加,尝试使用X头)。

另一种可能是首先不使用表单编码的post;如果您期望正文中有JSON对象,则不能来自另一个站点,因为浏览器通常不会通过HTTP POST发送JSON对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1936146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档