[対処法] Unsafe JavaScript attempt to access frame with URL <内部URL> from frame with URL <外部URL>. Domains, protocols and ports must match.

phantomjs + Wight で対象ページのリンクを取得したりだとかリンク数をカウントしたりだとかしているのですが、クロスサイトスクリプティング防止のためかこんな感じのエラーがもうどばどばーっと出るわけです。

事象

[email protected]:~$ perl ./t_Wight.pl
Unsafe JavaScript attempt to access frame with URL https://blog.neoflow.jp/ from frame with URL https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-0123456789&format=728x90&output=html&h=90&slotname=7992527683&adk=232156236&w=728&lmt=1440956965&loeid=17415661%2C108809084&ea=0&flash=0&url=http%3A%2F%2Fblog.neoflow.jp%2F&wgl=0&dt=1440956965594&bpp=6&shv=r20150820&cbv=r20150720&saldr=aa&correlator=6230456856577&frm=20&ga_vid=513548147.1440956966&ga_sid=1440956966&ga_hid=2064699073&ga_fc=0&pv=2&u_tz=0&u_his=1&u_java=0&u_h=768&u_w=1024&u_ah=768&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&dff=helvetica%20neue&dfs=14&adx=254&ady=107&biw=1024&bih=768&eid=575144604%2C317150304%2C4087070&oid=3&rx=0&eae=4&fc=24&brdim=0%2C0%2C0%2C0%2C1024%2C0%2C0%2C0%2C1024%2C768&vis=0&rsz=%7C%7C%7C&abl=CS&ppjl=u&pfx=0&srr=1&fu=1040&bc=1&ifi=1&dtd=286. Domains, protocols and ports must match.
 
^C
[email protected]:~$


なので自分のドメインだけに限定してみたのだけど、変わんないんだよなぁ。
#my $xpath = '//*[@href]';
my $xpath = '//*[contains(@href,"blog.neoflow.jp")]';

対策

phantomjs のバージョンは 1.9.0-1、Ubuntu 14.04 のパッケージを利用している環境で発生。
v1.9.8 でも終了時に出力されるようだが v1.9.7 だと問題ない、らしい。

なお、Windows, Mac では v2.0 が利用できる。Linux版もそろそろバイナリでるかと。
# 2.0 はまだ未テストです。

スポンサーリンク

シェアする

フォローする

スポンサーリンク