![]() |
1
3
pageMethods和它们所在的处理程序一样安全。 表单验证将保护除登录页之外的所有内容。 在未受保护的处理程序(如登录)上,您应该只公开1)不敏感或2)验证用户的方法。 编辑:针对有关CSRF和XSS的评论和其他答案,请参见 http://weblogs.asp.net/scottgu/archive/2007/04/04/json-hijacking-and-how-asp-net-ajax-1-0-mitigates-these-attacks.aspx |
![]() |
2
1
你想保护自己 CSRF 攻击。 通过在post参数中要求授权代码,并在初始页面加载中提供授权代码,可以防止这些攻击。(身份验证代码应该是每个IP地址和每个用户的,并且应该很快过期) 为了增加安全性,您可以使每个认证代码只可用一次,并让每个请求返回一个新的认证代码。(但是,如果任何请求失败,则需要重新加载页面) |
![]() |
3
0
把pagemethods想象成一个页面本地的小型WebServe。事实上,除了那些放在整个网站上的,以及那些你选择放进去的,他们不会有额外的检查和验证。 从“封装”的角度来看,使用pagemethods是一个很明智的想法,如果您打算使用它们,那么在适当的地方添加一些额外的安全措施也不会有什么影响。 |
![]() |
4
0
我正在开发一个大量使用ASP.NET WebForms页面方法的项目,我使用Ajax与之交谈。这对我来说非常方便,而不是用JavaScript编写所有代码。 然而,保护页面方法成为一个困扰我的问题。我看到我可以通过邮递员和小提琴手访问页面方法,从而使黑客能够使用您的API。 我的解决方案很简单,我是偶然发现的。将静态cookie请求添加到page方法对于任何不是网站的应用程序都会返回错误。
对此方法的邮差请求将返回:
而在本地主机上会显示一个更详细的错误if。 我知道有一些浏览器广告可以通过坐在网站旁边拦截API调用。我还没有测试过这个。但是,必须为此建立单独的安全修复程序。 执行一些测试后,我将在此处更新。 |