Flash 安全性問題

這嚴格上來說是 service provider 的問題,而非 Flash 本體的問題,但影響層面太大,發表這個漏洞的作者希望 Adobe 可以想辦法處理...

在「Flash Origin Policy Issues」這篇文章裡提到了攻擊的方式。舉個實際例子,上傳檔名為圖檔類型 (gif/jpg) 的 Flash 檔,如果 service provider 沒有過濾,就可以將任意的 Flash 放到網域裡面,藉由 crossdomain.xml 所允許的網段攻擊。

除了過濾外,另外比較好的作法是把使用者上傳的東西放到獨立 domain,而非只是 hostname,這樣可以避免 *.domain.tld 時包進去。

CDNetworks 的負面 PR

我有利用 Twitter Search 的 feed 訂閱一些關鍵字,其中幾個就是跟 CDN (Content Delivery Network) 有關的關鍵字,包括了幾個比較大的 CDN 公司名稱,以及我們在用的 CDN 公司名稱 (我們用的是 Panther Express,二月的時候被 CDNetworks 收購)。

剛剛爬起來看到 feed 裡面一堆 CDNetworks 的資訊,但又看不懂到底是什麼鬼,看了官方網頁也看不出來發生什麼事情 (被 Google 併購?但也不太對,才剛看到 Admob 被買,同時就要再併購韓國的上市公司?),結果翻其他的 feed 的時候在 TechCrunch 上面看到發生什麼事情了:「Here’s Some PR For You, CDNetworks」。

內容如同標題,我看完笑得超開心的 XDDD

我猜這應該是韓國總公司的 PR team 幹的事情?美國搞 PR 的單位應該很清楚 FTC 在十月的時候要求任何的利益交換都必須被揭露,不論是公司還是個人:「FTC Publishes Final Guides Governing Endorsements, Testimonials」。

另外 TechCrunch 自己就有用 cotendo (在頁面裡可以看到 cache0.techcrunch.com,CNAME 指到 cotendo 的 CDN 上),也曾經贊助過 TechCrunch,不得不說很厲害... XD

字型瀏覽網站 myFontbook

TechCrunch 上看到 myFontbook 這個字型瀏覽網站:「The Font Kingdom: Search, Explore, Create, and Download Fonts for Free」,測了一下發現還蠻好用的,連中文字型都可以測...

在 IE7 與 Firefox 3.6b3pre 上面看都相當頓,看起來只能在 Google Chrome 上跑...

文章裡提到的其他幾個站測起來的感覺還好而且,不過有一些站整理了很多字型檔可以用,倒是可以利用...

RefControl (對 Referer/Referrer 動手腳的套件) 在 3.6 可以正常運作了...

RefControl 是一套在 Firefox 上控制 Referer 的工具,在 Google Reader 裡面看無名或是其他家的圖片很好用。

前陣子換 Firefox 3.6 後發現上面不能跑 RefControl,寫個信給原作者問看看,他就把問題找出來並修正了。在原始網站上已經有 0.8.13 了,等個幾天 Firefox 的頁面上面應該就會一起更新。(等 review 中)

本來是用 Mason,雖然 Mason 可以用 Regular Expression,但缺少簡單的機制加入白名單的功能反而造成不少困擾。最大的問題在於在設定所有站台都送出 Host-only Referer 後,無法很簡單的設定白名單,必須考驗自己的 regular expression 編寫能力,在 exclude list 裡面一條一條設... 反倒是 RefControl 可以直接設某些 domain 為 "Normal",所以就換回來囉...

主要是最近才發現在博客來買新書 (輕小說漫畫) 大多數都有 79 折,加上書套費用比書局便宜,沒有必要特地去書局拿... 但博客來的系統不知道是誰設計的,Referer 擋的超嚴格,登入頁與結帳頁光送 http://www.books.com.tw/ 是不會過的...

無論如何都應該修改的 MySQL 預設值

Jeremy Zawodny 寫了一篇「Fixing Poor MySQL Default Configuration Values」提到 MySQL 有不少非常有問題的預設值,在安裝後無論如何都應該修改。他在文章裡拉出了四個惱人的設定值...

首先是 max_connect_errors,當某一個 host 送了過多的錯誤 query 時就會擋掉這個 host 的權限。這個設定無論是在共用或是獨立的環境裡,這個值的用途都非常奇怪:在共用的環境下,我可以利用這個功能惡搞其他人,把與自己同一台 web 的站台搞爛。在獨立的環境下,擋掉自己做什麼?

第三個的 skip-name-resolve 也是一個很詭異的選項,每個連線進來就跑一次 DNS 反解?MySQL 又不是 Internet 服務...

既然 Jeremy Zawodny 提了,這陣子應該有機會改...

lighttpd 1.4.25rc1

lighttpd 的 dev team 好像抓到重點了,與其發展 1.5,不如先從改善 1.4 開始吸引更多人使用 lighttpd,而且要儘量「release early, release often」,以其拉近與 nginx 的差距,並且吸引更多人參與,累積能量:「PRE-RELEASE: lighttpd 1.4.25rc1-r2692」。

這次的重點還是 bugfix,外加兩個小功能。

Apache 2.2 worker MPM 與 mod_fastcgi 的問題

我發現到某一組機器的 apache 2.2 (worker MPM) 偶而會 coredump,大約七月的時候決定跳下去找原因,在編了有 debuig symbol 的 httpd 後 (跑起來後用 gdb 放著跑,coredump 時會被 gdb 攔下來,如果 stack 沒被弄爛的話,有機會看到爛在哪裡),發現是 mod_fastcgi 沒有正確處理 non-threadsafe function 造成的問題,在「修正 mod_fastcgi 在 threading 環境下會 coredump 的 bug 」這篇我有提過。

我在「getgrgid() and getpwent() not thread-safe causes segfault in worker MPM」(原 mailing list 沒有開放 archive,所以必須到 gmane 查) 把 patch 丟上去,不過看起來 mod_fastcgi 不太會出新版了。

所以在 FreeBSD 上面就需要自立救濟... 在安裝 portsconf 後,就可以在 /usr/local/etc/ports.conf 內對 www/mod_fastcgi 指定 patch 的參數:

www/mod_fastcgi: NO_CHECKSUM=yes | PATCH_SITES=http://site/path/ | PATCHFILES=mod_fastcgi-2.4.6-threadsafepatch.patch.gz

然後把 patch 丟上 http://site/path/mod_fastcgi-2.4.6-threadsafepatch.patch.gz 裡面。NO_CHECKSUM 是因為我們的 patch 不在 distfiles 內,所以得這樣搞...

InnoDB 將修正 Table Scan 導致的效率低落問題

Mark Callaghan 的 blog 上看到的好消息,新版的 InnoDB 將不會因為 table scan 而導致整個 buffer pool 被清空了:「InnoDB plugin gets better again」。

依照「InnoDB buffer pool can be severely affected by table scans」,增加了 innodb_old_blocks_pctinnodb_old_blocks_time,利用一些設定避免 buffer pool 被大量清空。這個方法不是很完美,但應該是堪用的,在 5.1.41 的 InnoDB Plugin 應該就會看到。