Tag Archives: javascript

分析現在還有多少不安全的 JavaScript Library 被使用

在「Thou shalt not depend on me: analysing the use of outdated JavaScript libraries on the web」這邊看到對 JavaScript Library 的研究。 jQuery 沒有什麼疑問的還是最大宗,查了一下應該是 CVE-2011-4969 的影響,對 jQuery 1.6、1.6.1、1.6.2 三個版本有影響。 另外也提到了 hosting 的部份,可以看到 Google Hosted Libraries 還是佔有最高的比率。

Posted in CDN, Cloud, Computer, Murmuring, Network, Programming, Security, Software | Tagged , , , , , , , | Leave a comment

V8 對 for-in 的最佳化

V8 引擎的人對 for-in 的最佳化寫了一篇解釋「Fast For-In in V8」,比較直接的結果就是維基百科與 Facebook 都變快了: For example, in early 2016 Facebook spent roughly 7% of its total JavaScript time during startup in the implementation of for-in itself. On Wikipedia this number was even higher at around … Continue reading

Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Programming, Software, WWW | Tagged , , , , , , , , , | Leave a comment

在 Trac 裡把參與者自動加到 cc list 裡面的 plugin

之前在 Trac 裡會想要達成「當使用者參與這張票時,自動加到 cc list 讓他收到後續的更新」這樣的功能。之前沒有仔細研究要怎麼在 Trac 裡面實踐,就直接在 template (也就是 site.html) 裡面用 javascript 在 client 做掉... 先拉出 authname: <script> (function() { window.authname = "${authname}"; })(); </script> 然後再攔截網址裡有 /ticket/ 的頁面,當 form 符合條件時攔截 submit 事件,在 cc list 裡面沒有自己時把自己加進去: // Add myself into … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , | Leave a comment

在瀏覽器裡面直接產生 Graphviz 圖片

mdaines/viz.js 這個計畫,直接將 Graphziz 在瀏覽器上畫出來: 可以在這邊測試。其中輸出成 PNG element 的部份在 IE 上需要另外的套件: Internet Explorer 10 and 11 require Fabric.js as an optional dependency for PNG output.

Posted in Browser, Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , , | Leave a comment

Google Search 是否執行 JavaScript...

在討論 Google Search 是不是會執行 javascript。半年前的文章了,不過最近作者發現又有新東西:「Does Google execute JavaScript?」。 作者用了幾段 javascript 程式碼測試 (可以參考原文),發現其實不保證會執行 javascript,所以還是建議大家乖乖跑 server-side render 產生資料,這樣對其他搜尋引擎的 SEO 也比較好:

Posted in Computer, Murmuring, Network, Programming, Search Engine, WWW | Tagged , , , , , | Leave a comment

Google Chrome 55 的記憶體改善

前陣子 Google Chrome 55 出了,其中最讓人期待的是對記憶體的改善,有人整理了數據:「Chrome 55 uses ~30% less memory than Chrome 54」。 依照作者拿 weather.com 與 reddit.com 測試,前者的記憶體省了 26%,後者省了 30%,都相當明顯。我自己在升到 55 後有明顯感覺到改善,尤其是重開 Chrome 時重新讀取頁面的速度也快了不少... 這些改善主要是出自於「Fall cleaning: Optimizing V8 memory consumption」這邊提到對 V8 engine 的改寫,我感覺到速度變快應該是記憶體用量降低使得 CPU cache rate 提高的關係吧...

Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , | Leave a comment

在 CloudFront 的 edge 上跑 Lambda

所以 Amazon CloudFront 讓使用者在 edge 上跑程式了 (雖然目前是 limited preview):「Lambda@Edge – Preview」。 分成 Viewer Request、Origin Request、Origin Response 以及 Viewer Response 四個階段可以插入修改。另外有些限制: Because your JavaScript code will be part of the request/response path, it must be lean, mean, and self-contained. It cannot … Continue reading

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, Programming, WWW | Tagged , , , , , , , , , , | Leave a comment

利用上傳的檔案跳過 CSP 限制

用 CSP 可以做到一些簡單的保護機制,但在設計不良的情況下還是有辦法繞過。 這次是上傳合法的 JPEG 檔案,但當作 javascript 檔案繞過去:「Bypassing CSP using polyglot JPEGs」。 開頭的「FF D8 FF E0」可以在「List of file signatures」這邊看到是「JPEG raw or in the JFIF or Exif file format」,而這四個字元在 javascript 不會出問題。接下來的「2F 2A」表示 JPEG header 長度,剛好就是「/*」,把後面的東西給包起來,後面再用類似的方式一直組合就打穿了... 這種攻擊要跳過的是「用 CSP 的 self 限制不能引用外部網站 javascript」的限制,但還是有些前提: … Continue reading

Posted in Computer, Murmuring, Network, Security, WWW | Tagged , , , , , , , , , , | 1 Comment

VMware 的 vSphere HTML5 Web Client

vSphere HTML5 Web Client 算是 VMware 對 HTML5 的嘗試,在 HTML5 技術夠彈性的情況下避開使用 Flash 技術的 Web Client。 就畫面上看起來還不錯... 基本的操作應該可以搞定了,之後應該有機會可以拿來玩看看 :o

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , | Leave a comment

把所有 HTTP 網站的 JavaScript 都關閉

一直以為 Google Chrome 的 [*.] 只能用在開頭,剛剛測了才發現可以用在中間,所以就用這樣的方式擋下 HTTP 網站的 JavaScript: http://[*.] 這樣就可以減少 HTTP request 被 hijack 插入 javascript 的問題...

Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , | Leave a comment