虚心使人进步

虚心学习,天天向上......
随笔 - 274, 文章 - 2, 评论 - 161, 阅读 - 76万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

火狐里如何判断页面是否是通过window.open打开

Posted on   Showker  阅读(4526)  评论(9编辑  收藏  举报

我们知道一般防盗链的都是通过判断来路,是否是本域名,从而做出不同的选择。在.net里,就是通过Request.UrlReferrer判断是否为空来实现。

Test.aspx

复制代码
if(Request.UrlReferrer!=null)
{
Response.write(Request.UrlReferrer.ToString());
}
else
{
Respose.write("no referrer");
}
复制代码

 

此外js里有window.open方法,这个方法打开页面有没有来路呢?大家一般都认为是没有的。我也这样认为。但是经过实验后发现,在火狐下(版本3.5.5),window.open(),火狐照样能识别出来路。也就是说如果在火狐里在页面1.html里通过window.open('test.aspx'),程序会输出Request.UrlReferrer.ToString())的内容,而不是输出"no referrer",不信?你就试一试。

那我现在就是要问“火狐里如何判断页面是否是通过window.open打开的呢?”判断来路肯定不行了,因为火狐里不管是window.open还是通过其它页面链接到test.aspx,火狐都能识别来路。

就是这一个简单的命题,希望回帖者能测试后回复,同时不要再给这个简单的命题设置更多的条件或者说什么伪造头或者教我使用抓包工具,我有。谢谢。

再次声明,就是这么一个简单的命题。

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示