Jquery POST方法、Ajax和安全性?
我使用Ajax(jQuery)和POST方法更新数据库中的数据。我做了以下工作:Jquery POST方法、Ajax和安全性?,jquery,ajax,security,http-post,Jquery,Ajax,Security,Http Post,我使用Ajax(jQuery)和POST方法更新数据库中的数据。我做了以下工作: 从表单中获取数据:用户id、条目id、内容 将它们发送到将处理数据的URL 如果数据有效,我们将在数据库中记录它们 我不知道如何验证用户是否从我的网站而不是其他地方发送数据。请帮我解决这个问题。谢谢 您正试图抵御攻击 标准的防御措施是在POST中使用一个从不同AJAX请求检索的令牌。由于浏览器的跨域防御,您域之外的Javascript将无法获得令牌。这里有几个问题: 执行操作的用户的身份验证和授权 防止CSRF
- 从表单中获取数据:用户id、条目id、内容
- 将它们发送到将处理数据的URL
- 如果数据有效,我们将在数据库中记录它们
我不知道如何验证用户是否从我的网站而不是其他地方发送数据。请帮我解决这个问题。谢谢 您正试图抵御攻击
标准的防御措施是在POST中使用一个从不同AJAX请求检索的令牌。由于浏览器的跨域防御,您域之外的Javascript将无法获得令牌。这里有几个问题:
另一种可能是不使用表单编码的帖子;如果您希望正文中包含一个JSON对象,该对象不能来自其他站点,因为浏览器通常不会通过HTTP POST发送它。+1开头,-1最后两段:您需要防御基于HTTP但不一定基于浏览器的攻击。我们不能假设任何理论上的攻击者只会使用浏览器。例如,链接垃圾邮件发送者远比这先进。跨站点请求伪造是指合法用户被诱骗使用他们自己的浏览器(带有身份验证和cookie)发出非预期请求。使用基于非表单的帖子或自定义标题可以避免这种特定攻击。他们可以运行bot来获取令牌。所以我认为最好的办法是把cookie也包括在内,另外,如果你不想受到攻击,就去验证码。@Duccha:你在说什么?