免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
JS
對于任何基于WEB的應(yīng)用,最重要的就是安全性.JS中有各種安全檢查以防止惡意腳本攻擊你的機(jī)器,其中一些特定的安全手段在各種瀏覽器中都有采用.如:Mozilla有個完全獨(dú)特的完全模型,涉及到了簽署腳本和加強(qiáng)特權(quán).我們要知道哪些安全手段是所有瀏覽器通用的,哪些是特定瀏覽器的.這樣就能創(chuàng)建更安全的JS腳本.

a.同源策略;
JS只能與同一個域中的頁面進(jìn)行通訊.如:運(yùn)行在 http://domain:port/app1/page.html;上的腳本不能和http://domain:port/app3/page.html;的瀏覽器窗口或iframe 進(jìn)行交互.不能訪問它的cookie,接收它的HTTP響應(yīng)等(但它可以向任何其他源發(fā)送HTTP請求);AJAXwebservice 也受此策略管束.這種手段就叫同源策略;
兩個腳本被認(rèn)為是同源的條件是:

協(xié)議相同(比如都是http://)
端口相同(通常都是80)
域名相同

如果這三個條件中有任何一條不滿足,就不允許兩個腳本進(jìn)行交互.如:www.mydomain.com上的腳本不能訪問video.mydomain.com上的頁面 ,因為兩者的域名不同,雖然后者是前者的子域.同樣,它也不能訪問www.mydomain.com:8080上的頁面 ,因為端口不同,也不能訪問about:blank 因為協(xié)議不同(后者不是http://)

同源策略帶來的影響:
它影響了與BOM,DOM間的交互.如:不可以訪問不同來源的任何頁面的document對象,也就是說不能訪問其中任何DOM結(jié)構(gòu).如:
頁面上有兩個iframe 分別引用了不同源;
alert(frames[1].location.href);
alert(frames[1].document.location.href);//失敗
window 和 document 都有一個 location 對象的屬性.如果在與框架頁不同源的頁面中運(yùn)行這兩行代碼,第二行會報錯.

b.窗口對象問題;
I.窗口不能在屏幕外打開,也不能小于100 x 100.如果指定了在屏幕外的坐標(biāo),窗口會自動放到屏幕中離指定位置最近的地方,同時留出足夠的空間以能看到完整的窗口.
II.如果嘗試打開小于100 x 100的窗口,它會自動擴(kuò)大到該大小.這樣保證了用戶總是能看到腳本彈出的窗口.同樣,不能打開超過桌面大小的窗口.如:不能在 1024 x 768的桌面上打開1600 x 1200 的窗口;
III.不能用close()將不是window.open()打開的窗口關(guān)閉.如果這樣做,會彈出詢問框問用戶是否同意.
IIII.大部分瀏覽器都已經(jīng)內(nèi)置了彈出式窗口阻攔工具.一般來說,它會將所有并非因為與用戶交互而出現(xiàn)的彈出窗口阻攔,即:在 load 和 unload 之類的事件中打開新的窗口是不可行的.只能在 click 和 keypress 之類的事件中. 
有些工具不管有沒有交互都會阻止.我們就要進(jìn)行判斷:
var oWindow = window.open("page.html",""mywindow);
if(oWindow == null){
    alert("彈出頁面已被阻止!");
}else{
    //繼續(xù)執(zhí)行代碼;
}
提示:最好在window.open()調(diào)用周圍加上try...catch 塊.以避免可能因為工具阻攔造成的JS錯誤
注意:Windows XP Service Park2上的IE可以將站點(diǎn)添加到可信網(wǎng)站上,以突破上面的限制,因為可信站點(diǎn)是用https://通信的.
某些瀏覽器如: Mozilla 允許用戶決定腳本是否可以移動窗口或改變大小.

c.資源限制
我們有經(jīng)常會關(guān)心程序是否被超過內(nèi)存限制.其實(shí)這是由瀏覽器公司決定JS如何運(yùn)行才不會影響用戶的機(jī)器的.現(xiàn)在的情況是:瀏覽器在任何單個函數(shù)調(diào)用中最多運(yùn)行一百萬行JS代碼.當(dāng)超過這個數(shù)字時,IE 會彈出一個對話框,告訴你腳本使瀏覽器運(yùn)行變慢,是否繼續(xù)腳本. Mozilla 則直接跳出當(dāng)前操作,并在JS控制臺輸出一條消息.
注意,這里的單個調(diào)用是指一個函數(shù),而不是當(dāng)前頁面JS代碼的總和.這種機(jī)制是用來防止死循環(huán)和無限遞歸的.
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
原創(chuàng)NSNA帶你玩轉(zhuǎn)快速發(fā)帖教程
[2012.07.28] Firefox子版版區(qū)信息 / 軟件索引 / 資源下載專帖
小白學(xué) Python 爬蟲(9):爬蟲基礎(chǔ)
百度搜索還有廣告?不存在的!
修飾網(wǎng)頁圖片的5個JS 腳本 | 顥子設(shè)計
破解一些網(wǎng)頁不能復(fù)制的方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服