Google 將發現安全問題的獎勵延伸到 Open Source 專案上...

Slashdot 上看到 Google 將發現安全問題的獎勵從自家產品延伸到 Open Source 專案上:「Google Offers Cash For Security Fixes To Linux and Other FOSS Projects」。

官方的公告在「Going beyond vulnerability rewards」,規則則是在「Patch Rewards – Application Security – Google」。

初期限制在這些專案上:(直接複製過來)

  • Core infrastructure network services: OpenSSH, BIND, ISC DHCP
  • Core infrastructure image parsers: libjpeg, libjpeg-turbo, libpng, giflib
  • Open-source foundations of Google Chrome: Chromium, Blink
  • Other high-impact libraries: OpenSSL, zlib
  • Security-critical, commonly used components of the Linux kernel (including KVM)

獎勵金額從 USD$500 到 USD$3133.7,這邊的 31337 應該是出自「Leet」吧...

這算是一種回饋社群的方式...

移除 Remove Facebook Redirections...

Google Chrome 裝上 Remove Facebook Redirections 可以避免 Facebook 重導,加減提高些隱私性...

不過最近發現當 Facebook 捲頁捲很長時會變得爆慢,但網路上好像沒有人提到這個問題?看起來應該是我的某個 extension 造成的,測了老半天發現是這個 extension 的問題 :o 然後身為工程師的直覺,這八成是每次增加元素後直接對整個 document 全掃一次造成的...

翻 source code 後 (直接到 Default/Extensions/onhdomkbnapoacbialllfpbcckckidck/1.2_0/ 裡的 RemoveFacebookRedirections.js 翻) 可以發現 huntForLinks() 果然就是這樣做...

先移除掉再說 @_@

Firefox 加強對 Cookie 的管制...

Mozilla 官方的 Blog 上說明了 Firefox Nightly 引入了新的 Cookie 機制,預設將不允許以追蹤為目的的 cookie:「Firefox getting smarter about third-party cookies」。

最粗淺的想法是,如果 cookie 是沒有逛過的網站所發出來的就擋掉。所以:(出自 bug 818340 的 comment)

1) if an origin is first-party, it has ordinary cookie permissions
2) if an origin is third-party
	a) if the origin already has cookies, it has ordinary cookie permissions
	b) otherwise, the origin gets no cookie permissions

也就是在 Mozilla Bugzilla 裡的紀錄「Block cookies from sites I haven't visited」,開 bug 的作者是看到 Safari 處理 cookie 的方式而決定要在 Firefox 上也幹類似的事情 :p

所以 google-analytics.com doubleclick.net 的 cookie 永遠不會成立 (因為沒去過這個網站),但 facebook.com 的外掛還是會動... 其他的廣告商就類推... XD

這對於目前的廣告商會很傷 :p 透過 cookie 實作個人化廣告的功能會被廢掉一半的武功,得用其他方法惡搞 :o 可以預期在 Google Chrome 後面的 Google 一定超級不想實作這功能... XD

不過 Google Chrome 好像可以自己阻擋第三方 cookie,然後設定白名單,晚點來研究看看... (反正會保持登入的 social network 沒幾家)

Facebook 將全面支援 SPDY...

在「Facebook Adds SPDY Support!」看到 Facebook 將全面支援 SPDY 的消息。

Facebook 的 *.fbcdn.net 在二月先上 SPDY 了:

I managed to find this image uploaded by Varun Kumar on February 1 2013, showing that Facebook’s CDN hostname *.fbcdn.net was serving static resources like images and JavaScript via SPDY.

m.facebook.com (行動版) 也上 SPDY 了,不過要 Android 3+ 才支援。

目前 SPDY 主要支援的平台是 Firefox 13+ (11+ 支援,但預設沒開),Google Chrome 與 Android 3+,市占率大約 50%... 好像也不少?(參考:Can I use SPDY networking protocol?)

新版的 Google Chrome 將會在 Tab 上 Icon 標示發出聲音...

開了一堆頁面,卻找不到放音樂的 tab 是哪個?在新版的 Google Chrome 裡會將正在放音樂的 tab 用動畫標示在 tab 上的 icon:「Chrome Shows Which Tab Is Making a Noise」,像是這樣的提示:

目前在 Canary channel 裡才有,等個幾個月就會在正式版本出現了... (canary -> dev -> beta -> stable)

用 testling-ci 測試各種瀏覽器的結果...

testling-ci 是個測試服務,只要在 package.json 裡把要測的環境要求寫好,然後 GitHub 上的 web hook 設好,剩下就是驗收了...

網站的維護者在「How to write Testling-CI tests」這篇給了一個很簡單的範例,拿一個 IE9+ 才支援的語法實際測試所有的瀏覽器,然後有個 badge 讓你掛:

對於 open source 軟體應該是很方便,是 Travis CI 的另外一個選擇 :p

這次 TURKTRUST 誤發 *.google.com SSL 憑證...

這次 TURKTRUST 誤發 *.google.com 憑證被 Google 當初佈下的網子抓到:「Enhancing digital certificate security」。

首先是每次 CA 出問題後都會對目前的 PKI 提出質疑的文章 (像是「TURKTRUST Incident Raises Renewed Questions About CA System」),在沒有有效的方法可以取代目前的 PKI 前,都是吵一吵之後就沒有結論,所以先不管這個題目。

想要提出來的是 Google 這次抓到的機制:「Public Key Pinning Extension for HTTP」,目前狀態仍是 draft。不過 Google 在 Google Chrome 13 就已經實作一部分了,並且把一堆 domain 寫死進去:「View of /trunk/src/net/base/transport_security_state_static.json」,可以看到 Google 的 domain 只允許這些 CA 簽:

      "name": "google",
      "static_spki_hashes": [
        "VeriSignClass3",
        "VeriSignClass3_G3",
        "Google1024",
        "Google2048",
        "EquifaxSecureCA",
        "GeoTrustGlobal"
      ],

任何想要在太歲爺上動土的都會被抓包 XD

另外 Google Chrome 還是沒有 Certificate 相關的 API,目前只有 API Proposal 掛著:「webRequest SSL Hooks」,相較於 Firefox 有不少 extension 可以用,這方面 Google Chrome 就差了不少...

對於現在的瀏覽器,CSS 是否還需要加上 vendor prefix...

在「Do we need box-shadow or border-radius prefixes anymore?」這篇文章開頭就先給懶人包:

  • 如果沒有圓角 (border-radius) 或是陰影 (box-shadow) 會造成使用者不順。
  • 如果這四個平台 (以及瀏覽器) 的量夠大的話:Firefox 3.6-、Safari 4-、iOS 3.2-、Android 2.3-。

在這兩種情況下,你仍然需要加上 vendor prefix...

而比較長的說明,可以參考原文後半段,把這兩個效果分開說明。

如果是 Sass (SCSS) 使用者,就直接加吧,反正程式都幫你做好了... 雖然 validator 會叫 CSS 不合法,但也沒印象看過哪家瀏覽器會因為 css vendor prefix 就罷工... (真的有嗎?XD)

Google Chrome 23 內建 DNT 設定了...

在「Google Implements Do Not Track in Chrome 23」這邊被提醒 Google Chrome 23 支援 DNT,到設定頁裡把「顯示進階設定...」展開,然後把『將「不追蹤」要求與瀏覽流量一併送出』勾起來就可以了:

開發工具可以看到送出要求時會帶 DNT: 1