如果没有表单,恶意用户可以提交数据吗?

时间:2013-04-08 21:38:15

标签: html forms

在我的网站中,用户每天只能修改一次个人信息。脚本方面,我确定是否允许它们(即检查数据库是否自上次修改后24小时)以及是否显示表单。

我的问题是,如果没有表单,恶意用户是否可以设置提交信息?换句话说,如果没有FORM element用户的浏览器不应该提交任何数据,对吗?

我担心的是,如果有人设法发送数据,脚本仍然会处理它并更改个人信息当它不应该

3 个答案:

答案 0 :(得分:2)

当然 - 这将是一种重播攻击。只要您的资源端点处理恶意POST请求,无论前面的GET内容如何,​​您都会受到攻击。

请记住:从不信任客户。如果您在处理POST请求之前执行身份验证授权检查,那么您将没事。

答案 1 :(得分:1)

是的,如果恶意用户知道接受数据的页面的网址及其预期的相应属性,则即使没有表单,恶意用户仍然可以发送数据。然后,他可以轻松地创建包含该信息的表单并提交数据。

所以你基本上需要在服务器端验证数据。

答案 2 :(得分:1)

例如有人可以使用curl。

 curl -d profile=value http://www.yoursite.com/profile

您可以使用随表单一起发送的CSRF令牌来阻止此类攻击。 有关更多背景信息,请参阅此文章http://shiflett.org/articles/cross-site-request-forgeries