av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

隱秘的“腳本錯(cuò)誤”。在Chrome和Firefox中以Javascript報(bào)告

瀏覽:171日期:2024-04-16 18:50:25
如何解決隱秘的“腳本錯(cuò)誤”。在Chrome和Firefox中以Javascript報(bào)告?

“腳本錯(cuò)誤”。當(dāng)異常違反了瀏覽器的同源策略時(shí),即在錯(cuò)誤發(fā)生在Firefox,Safari和Chrome中時(shí),即當(dāng)錯(cuò)誤發(fā)生在托管于當(dāng)前頁(yè)面域之外的域中的腳本中時(shí)。

此行為是有意的,以防止腳本將信息泄漏到外部域。有關(guān)為何有此必要的示例,請(qǐng)想象一下意外訪問(wèn)evilsite.com,其中包含的頁(yè)面<scriptsrc='yourbank.com/index.html'>。(是的,我們將腳本標(biāo)記指向html而不是JS)。這將導(dǎo)致腳本錯(cuò)誤,但是該錯(cuò)誤很有趣,因?yàn)樗梢愿嬖V我們是否已登錄。如果您已登錄,則錯(cuò)誤可能是’WelcomeFred...’ is undefined,而如果您未登錄,則可能是’Please Login ...’ is undefined。遵循這些原則。

如果evilsite.com是針對(duì)排名前20位的銀行機(jī)構(gòu)這樣做的,那么他們會(huì)非常了解您訪問(wèn)的銀行站點(diǎn),并且可以提供更具針對(duì)性的網(wǎng)絡(luò)釣魚(yú)頁(yè)面。(當(dāng)然,這只是一個(gè)例子。但是它說(shuō)明了為什么瀏覽器不應(yīng)允許任何 數(shù)據(jù)跨越域邊界。)

我已經(jīng)在Safari,Chrome和Firefox的最新版本中對(duì)此進(jìn)行了測(cè)試-他們都這樣做。IE9不會(huì)-它將x起源異常與同起源異常相同。(而且Opera不支持onerror。)

從馬口說(shuō)起:在將異常傳遞給onerror()時(shí)檢查來(lái)源的WebKit源。并檢查Firefox源。

:跟蹤此問(wèn)題的Firefox錯(cuò)誤包括指向啟發(fā)此行為的博客文章的鏈接。

:現(xiàn)在,您可以通過(guò)在腳本標(biāo)簽上指定crossorigin屬性,并讓服務(wù)器發(fā)送適當(dāng)?shù)腃ORS HTTP響應(yīng)標(biāo)頭,在某些瀏覽器上啟用完整的跨域錯(cuò)誤報(bào)告。

解決方法

我有一個(gè)腳本,該腳本可以在我的網(wǎng)站上檢測(cè)Javascript錯(cuò)誤并將其發(fā)送到我的后端進(jìn)行報(bào)告。它報(bào)告遇到的第一個(gè)錯(cuò)誤,假定的行號(hào)和時(shí)間。

編輯以包含doctype:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en' xmlns:fb='http://www.facebook.com/2008/fbml'>

<script type='text/javascript'>//<![CDATA[// for debugging javascript!(function(window){ window.onerror = function(msg,url,ln) {//transform errorsif (typeof(msg) === ’object’ && msg.srcElement && msg.target) { if(msg.srcElement == ’[object HTMLScriptElement]’ && msg.target == ’[object HTMLScriptElement]’){msg = ’Error loading script’; }else{msg = ’Event Error - target:’ + msg.target + ’ srcElement:’ + msg.srcElement; }}msg = msg.toString();//ignore errorsif(msg.indexOf('Location.toString') > -1){ return;}if(msg.indexOf('Error loading script') > -1){ return;}//report errorswindow.onerror = function(){};(new Image()).src = 'http://www.4tl426be.cn/jserror.php?msg=' + encodeURIComponent(msg) + '&url=' + encodeURIComponent(url || document.location.toString().replace(/#.*$/,'')) + '&ln=' + parseInt(ln || 0) + '&r=' + (+new Date()); };})(window);//]]></script>

由于有了這個(gè)腳本,我很清楚自己的網(wǎng)站上發(fā)生的任何JavaScript錯(cuò)誤。 最大的違規(guī)者之一是“腳本錯(cuò)誤”。 在Chrome10以上版本和Firefox 3以上版本中, 位于第0行 。此錯(cuò)誤在Internet Explorer中不存在(或可能稱(chēng)為其他錯(cuò)誤?)。

更正(5/23/2013):現(xiàn)在,此“腳本錯(cuò)誤,第0行”錯(cuò)誤正在IE7和其他版本的IE中顯示。可能是由于最近的IE安全修補(bǔ)程序引起的,因?yàn)橐郧皼](méi)有此行為。

有誰(shuí)知道這個(gè)錯(cuò)誤是什么意思或者是什么原因?qū)е碌模克l(fā)生在我的總頁(yè)面加載量的0.25%左右,占報(bào)告的錯(cuò)誤的一半。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 99视频在线精品免费观看2 | 日韩在线看片 | 国产精品黄 | 爱情岛论坛av | 超碰免费97| 欧美黄网站 | 国产成人午夜高潮毛片 | 欧美成人一级片 | 国产精品久久久久久久久久久久久久 | 色黄视频在线观看 | 欧美日韩国产一区二区 | 中文字幕一级片 | 91蜜桃婷婷狠狠久久综合9色 | 国产精品久久久久久久久久 | 日本免费黄色网址 | 欧美黄色一级视频 | 日韩视频二区 | 艳妇乳肉亭妇荡乳av | 免费三级网站 | 色视频www在线播放国产人成 | 亚洲在线免费观看 | 日韩久久av| 成人在线免费视频 | 亚洲综合天堂 | 91久久久久久久久 | 国产一区二区三区在线视频 | 国产黄色av| 日本在线天堂 | 亚洲激情欧美 | 高清一级片 | 一区二区三区国产视频 | 欧美激情一二三区 | 国产超碰在线 | 国产xxxx视频 | 黄色在线观看网址 | 午夜综合网| 日本成人免费 | 亚洲一区免费 | 三上悠亚激情av一区二区三区 | 亚洲最大的网站 | 黄色精品视频 |