2010-09-22 51 views

回答

3

如果其他站點將腳本標記指向託管在您站點上的JavaScript,那麼對您而言,沒有太多的安全風險。其他網站都承擔着安全風險,他們必須信任不能用會話竊取cookie-sniffer等取代你的JavaScript。我想如果你的服務變得非常流行,你的網站可能成爲一個更有吸引力的目標。惡棍攻擊,以便他們可以通過更改您的服務器上的JS對其他網站進行類似的攻擊。

對於性能請確保您的腳本儘可能使用far-future expires標頭高速緩存。您還想縮小它以降低帶寬成本。也許可以使用針對靜態內容進行優化的服務器(nginx等),而不是使用可能用於同一域上的動態內容的完整Apache實例。如果您期望很多的站點能夠將您的腳本熱鏈接,請考慮在CDN上託管JS。

樣式可能非常棘手,因爲您無法控制適用於您的腳本插入到第三方站點的DOM元素的樣式。也許工具提示可能是一個iframe,它會在您的網站上呈現一個小小的工具提示大小的頁面,然後您將控制所有內容。更多的帶寬給你,你的工具提示必須是方形的。

+0

很好的答案,真的很感激它。如果大多數樣式是由腳本生成的內聯CSS,會怎麼樣?腳本的數據只是一個輕量級的jsonp調用。構建要發送到腳本的數據的服務器上的操作會在滑動超時時緩存。我在共享主機上,所以沒有無cookie的靜態域 - 除非有辦法在discountasp.net服務器上做到這一點?儘快處理緩存腳本和樣式表。 – Chaddeus 2010-09-23 05:53:52

+0

@Chad Inline CSS與外部樣式表有相同的困難,即來自第三方網站自己的樣式表的繼承樣式。我不認爲內聯會有幫助。您可能可以執行類似於CSS重置的操作,該重置將應用於要添加的DOM片段的根元素的所有後代? '#someveryuniqueidforyourrootelement * {/ *重置規則* /}' – Day 2010-09-23 12:23:43

+0

感謝您的回答! – Chaddeus 2010-09-24 00:31:14