0

我的网站上有一个登录表单,位于用户登录后可以搜索内容的页面内。

有一个第三方移动应用程序让我的用户通过从我的网站在 signin.aspx 页面上提交表单来登录。

我的问题是如何判断表单是从第三方提交的,而不是从我的网站提交的?

4

2 回答 2

1

正如克劳迪奥所说,您不能可靠地使用“推荐人”值。该值可以被欺骗。更安全的方法是使用 CSRF 令牌或类似的东西。

例如,您可以在隐藏的表单元素中包含 ASP.NET 会话 ID。然后,当提交表单时,将表单元素的值与用户的会话 ID 进行比较。如果它们不匹配,则表单提交不是来自您的网站。

于 2013-07-31T13:22:52.310 回答
0

您有引用 HTTP 标头,但不幸的是,这不是 100% 准确的,在某些情况下,它可能会在请求中间更改。

您可以在本地表单中添加一个额外的参数。如果该参数不存在,则帖子来自第三方站点。

于 2013-07-31T12:12:19.453 回答