You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python检测浏览器的钓鱼警告拦截页面?

解决思路与实现建议

requests没法检测钓鱼拦截页面是必然的——它只是单纯发送HTTP请求并获取响应,完全不会触发浏览器内置的安全检测机制(比如Firefox基于PhishTank、Google Safe Browsing的钓鱼识别逻辑),自然拿不到拦截页面的内容。下面给几个可行的方案:

  • 用无头浏览器模拟真实浏览环境
    无头浏览器(比如Playwright、Selenium)会完整模拟浏览器的加载流程,包括触发安全检查。你可以用它打开目标URL,然后检查页面内容是否包含钓鱼拦截的特征:

    • 比如Firefox的拦截页面会有“欺骗性网站”“此网站可能试图欺骗您”这类关键词
    • 或者定位拦截页面的专属DOM元素(比如特定的ID、类名,比如Firefox拦截页的容器类phishing-warning)
      举个Playwright的简单示例:
    from playwright.sync_api import sync_playwright
    
    def check_phish_intercept(url):
        with sync_playwright() as p:
            browser = p.firefox.launch(headless=True)
            page = browser.new_page()
            page.goto(url, wait_until="domcontentloaded")
            # 检查页面是否包含钓鱼拦截关键词
            has_warning = page.locator("text=欺骗性网站").count() > 0 or page.locator("text=钓鱼").count() > 0
            browser.close()
            return has_warning
    
  • 调用官方安全查询API
    直接对接浏览器背后的安全数据源API,比如Google Safe Browsing、Mozilla PhishTank,查询目标URL是否被标记为钓鱼网站。这种方法不需要模拟浏览器,效率更高,但需要申请API密钥:

    • Google Safe Browsing:提交URL后,API会返回该URL的威胁类型(钓鱼、恶意软件等),如果返回钓鱼标记,说明主流浏览器会拦截它
    • PhishTank:可以查询URL是否在钓鱼数据库中,不过需要注意数据更新频率
  • 辅助检查HTTP响应特征
    部分安全网关或浏览器扩展在拦截钓鱼网站时,会返回特殊的HTTP状态码(比如403)或自定义响应头。但这个方法通用性差,不同厂商的拦截规则不一样,只能作为补充验证手段。

内容的提问来源于stack exchange,提问作者BRU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:42:05