灵异事件薄:登录及认证问题

现象描述

网站A和网站B都是ASP.NET的应用程序,采用ASP.NET FormsAuthentication,网站B有受保护的文件夹,通过web.config配置了权限。网站C是纯ASP网站,受保护的页面是通过Session来维持用户登录状态。

存在这么一种现象:

网站A的页面1上有一个到网站B的受保护页面2的一个目标是新窗口(target="_blank")的链接a,点击这个链接会在新窗口打开页面2,之后转向到网站B的登录页面,正常登录之后关闭(按浏览器关闭按钮或Alt+F4)网站B的页面2;

再次从网站A的页面1上点击链接a,会再次在新窗口打开网站B的受保护页面2。此时并没有转向到网站B的登录页面,而且你会发现已经是先前的登录状态了。

同样,网站A的页面1上还有另外一个链接a2,点击会在新窗口打开网站C的受保护资源,第一次会要求登录,登录之后关闭网站C的页面,然后再点击链接a2,打开了网站C的受保护页面,并且也是已经登录的状态。

现象回显:

在网上搜索了许多关键字,其中发现FormsAuthentication存在许多问题,比如地址里的“/”替换成“\”或“%5C”就能蒙混过关而绕过认证等。但以上描述的现象之前还没有遇到过,我这里创建了两个web app,有兴趣的朋友可以实际运行下看看效果,我还把Trace打开了,这样可以看到认证Cookies的状态。请从这里下载它:https://files.cnblogs.com/shinyzhu/Spectral.zip

项目里有两个Web Application:web1和web2,web1上有个到web2的back文件夹的链接,按照上面的流程来运行,然后请告诉我你是否也遇到了这个现象。更进一步来说,你也可以把这两个web app部署到不同的服务器来测试。在这里我非常非常急切地希望听到大家的意见,或者有朋友知道这个原因,也请立即告诉我吧。非常非常地感谢!

posted @   亮小猪  阅读(351)  评论(3编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示