dongmacuo1193 2014-02-26 09:13 采纳率: 0%
浏览 28

自动检测iframe阻塞

I use iframes in my news aggregation web app. While I am careful to always credit and link publishers, I also respect those who chose to block iframes (by not implementing sneaky workarounds). My question is how I can automatically detect whether iframes will be blocked, given the URL of the external page in question. So far i am using this code:

        //get external html
        $p = file_get_contents($this->scrape_ready_url);
        //check for blocker
        $pattern1 = "/window\.self.{1,10}window\.top/";
        $s1 = preg_match($pattern1, $p);
        //check for blocker2
        $pattern2 = "/window\.top.{1,10}window\.self/";
        $s2 = preg_match($pattern2, $p);
        //condition response
        if ($s1 === 1 || $s2 === 1) {
            $this->frame = "blocked";
        } else {
            $this->frame = "not_blocked";
        }

This works most of the time (so far), but many publishers such as yahoo use slight variations of the "self !== top" code which makes preg_match not work. I am wondering if there is any universal/general test that I can implement to know whether or not a given URL will block an iframe or not.

thanks

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 基于卷积神经网络的声纹识别
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
    • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
    • ¥15 CSAPPattacklab
    • ¥15 一直显示正在等待HID—ISP
    • ¥15 Python turtle 画图
    • ¥15 stm32开发clion时遇到的编译问题