Web_Design 板


LINE

※ 引述《Derix (PalaPala)》之銘言: : 在下為js新手,想請問各位前輩些許問題... : 1.是否可能使用js開啟新頁面後,接著自動在該新頁面執行指定的js函式? : 如:在A頁面的網址執行javascript:window.open('B.html');後,接著自動在B頁面執 : 行其他script如alert('HI');呢(並非在B頁面寫入alert函式)? 沒有經過使用者自己有任何行為, 或者該目標頁面有任何行為幫助的話,基本上是不可能的。 舉幾個該目標頁面沒有良好設計的隱憂: 像是新頁面有倚賴網址參數去作一些行為, 因此從網址被注入攻擊,比方說 iframe src 是用 param 帶入的這種笨行為, 或者新頁面內容根本就有已經放好得內鬼。 : 2.在A頁面執行,從B網域得到的xmlhttprequest.responsetext的script內容,因為same : origin policy的關係,不能直接eval使用,那是否有其他方法可以間接執行該script : 呢? 1.這裡有幾件事情要講清楚 a.ajax 在 cross domain 時, 被 request 的目標頁面的確會收到,也會處理給你回應。 b.但是這個回應browser會擋掉把他當空氣,所以不只是不能直接eval使用, 應該是連 xmlhttprequest.responsetext 你都會拿不到。 c.目前要解決跨domain 處理的方式,在限定用get的情況下, getJSONP 是唯一解,他不是走 ajax 而是走 script tag, 而且使用上很有局限性。 : 3.承問題2,如果有的話,是否就代表該same origin policy事實上是不夠完備的? 請注意你談論的這兩件事情是A網站網站開發者設計的, 而且 B 網站如果A網站不信任他的話,根本不應該試著引入B網站的script。 same origin policy 事實上是一種防止 B 網站被A網站任意存取的機制, 而 JSONP 的實做方案,則是B網站提供其願意被存取的部份給A網站存取, 要討論完備這件事情,要先討論目的及其意義。 不然一個網站可以引入外界的 script tag , 這樣某個角度上一樣是 violate same origin policy 。 : 4.在HTML裡,嵌入<script src = "http://xxx.xx/A.js">的動作可以跨網域取得A.js的 : script執行,那為何還需要same origin policy來防止XSS的攻擊呢? : 感謝指點迷津的各位大大們,如果小的觀念錯誤的話,還希望不吝給小的指導! : 謝謝Orz 1.這樣限定 javascript 的格式,而大幅的限制你獲取資料的方式 不代表任意html頁面資料都可以透過ajax去要求跟存取。 這方面其實要多參考 user script ,你就會知道兩者有多大的差別, 巧婦難為無米之炊,一般而言我們要存取外部網站,那些資料是重點。 如果你要對一篇文章作增刪的動作,你沒有先從頁面中拿到其連結或id, 你根本無從下手起,所以有這個限制是差很多的。 2.這樣就把事情限定在"get" 的層級裡, 一是可以擋掉get所不支援的大量資料存取, 另一方面是只要website 有確實把 get 跟post分清楚,就不會有問題。 XSS 目前的熱門危險區域還是在於使用者可以寫入 script 位置, 比方說使用者自由編輯區塊或者iframe url是由user 提供的。 但憑良心講 XSS 防堵上非常困難,目前最有效的 sub domain 方案, 實做起來非常累,而且又阻絕了內容本身跟外面的連結方式,會造成很多限制。 這也是為什麼目前各大 blog 平台,大致上都是採用 script 白名單的方式, 或者直接不允許使用者自行寫入 script tag 的作法。 -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 198.203.175.175 ※ 編輯: TonyQ 來自: 198.203.175.175 (07/27 01:30) ※ 編輯: TonyQ 來自: 198.203.175.175 (07/27 01:31) ※ 編輯: TonyQ 來自: 198.203.175.175 (07/27 01:32)
1F:→ grence:oh..我回了一樣的問題,只是你人比較好XD 07/27 02:09
2F:→ TonyQ:驚 XD 我應該先看看ajax板的 07/27 02:16
3F:推 Derix:感謝東尼大熱心且詳細的回應,您說的內容新手在下需先消化後 07/27 02:36
4F:→ Derix:始能回覆或再提問~ 也很抱歉&感謝g大兩邊跑版回應="= 07/27 02:38
5F:→ grence:我推文只是想說 TonyQ的回答比我還要詳細而已 XD 07/27 23:53







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP