Zend Framework 1.11.0 發佈

原文見:http://devzone.zend.com/article/12724-Zend-Framework-1.11.0-FINAL-Released

Zend Framework 團隊很高興宣佈:Zend Framework 1.11.0 版本已經放出並且可用。這個版本是 Zend Framework 貢獻者和合作伙伴經過幾個月努力達到的成果,同時提供了一些新的特性,包括對移動設備的支持,以及第一個穩定的 SimpleCloud API 版本。

你可以從以下地址下載這個最新的版本:

http://framework.zend.com/donwload/latest

以下是對1.11.0版本新特性和功能的總結。

移動支持

Zend Framework 1.11.0 通過使用新的組件:Zend_Http_UserAgent,成爲第一個明確支持移動設備的版本。這個組件由 Raphael Carles 開發。Carles 是 Interakting 公司的 CTO,Interakting 是法國商務和決策集團的電子公司。Interakting 僱傭了150名 PHP 專家來構建工業 PHP 項目,它的客戶包括 Canal +/Vivendi(維旺迪(Vivendi SA;又譯威望迪)前名爲維旺迪環球(Vivendi Universal)是法國一家巨型媒體跨國集團。業務範圍包括音樂、電視、電影、出版、電信、互聯網和電子遊戲等行業。),BNP Paribas(法國巴黎銀行),三星法國,法國教育部,Alapage(Orange),Orange 突尼斯,以及更多。由此,他們在移動設備支持方面經驗豐富,並且決定在這個他們擅長的領域內爲 Zend Framework 的發展貢獻一份力。

Zend_Http_UserAgent 有兩個責任:

  • 探測客戶端瀏覽器
  • 在客戶端瀏覽器基礎之上,探測移動設備功能

組件包括一個“特性”適配器機制,通過這個機制,允許開發者出於發現移動設備功能的考慮,把組件綁定到不同的後臺。目前爲止,Zend Framework 內置了 WURFL(Wireless Universal Resource File 無線全球資源文件)API,Tera-WURFL 和 DeviceAtlas 等的接口,將來計劃更多。

Luca Passani,WURFL 項目的作者和領導者,已經爲 Zend Framework 提供了一份 non-GPL 接口來訪問 WURFL PHP API。

對這個組件要增加額外的外掛,需要通過 Zend_Application 的資源插件來達到。同時一個 Zend_View 助手,將允許開發者可以爲已經探測到的移動設備返回不同的輸出結果(例如,不同的模板,不同的圖片,Flash 和 HTML5 支持,等等)。

Zend_Cloud:SimpleCloud API

在 Zend 2009 大會中,Zend 宣佈了一個 SimpleCloud API 的模型。這個 API 打算用來掛鉤到雲基礎的文檔儲存,隊列支持,文件儲存。

Zend Framework 1.11.0 成爲第一個正式的 Zend_Cloud 的穩定版本,SimpleCloud API 的 Zend Framewok 的 PHP 版本。目前包括以下支持:

  • 文檔服務:
    • Amazon SimpleDB
    • Windows Azure 的 Table Storage
  • 隊列服務:
    • Amazon Simple Queue Service (SQS)
    • Windows Azure 的 Queue Service
    • Zend_Queue 支持的所有接口:
      • Zend PlatForm JobQueue
      • Memcacheq
      • 關係數據庫
      • ActiveMQ
  • 儲存服務:
    • Amazon Simple Storage Service (S3)
    • Windows Azure 的 Blog Storage
    • Nirvanix
    • 本地文件系統

當使用任何一個 SimpleCloud API,你的代碼將會在大量已提供的適配器中是可移植的,這將允許你選擇你的服務,同時嘗試不同的服務,直到你找到適合你的應用程序或者商業需求的服務爲止。另外,如果你發現你需要編寫特定適配器特性的代碼,爲了達到這個目的,你可以放棄指定的適配器。

在稍後的幾個月,將會有更多的適配器,給你更多的選擇。

我們感謝 Wil Sinclair 和 Stas Malyshev 在 Zend_Cloud 初次發佈過程中所提供的幫助。

安全

Zend Framework 中的幾個類已經被改寫,從而消除了在直接比較敏感數據諸如文本密碼或者用戶輸入的密碼簽名等等過程中導致的時間信息泄漏的潛在風險。這些漏洞在 PHP 比較任意兩個字符串的正常過程中都會發生。泄漏的本質是:字符串比較通常是按字節比較的,當任意的一組不匹配的字節被檢測到的時候,將會迅速的返回一個負面結果。當被比較的雙方相同的字節越來越多的時候(從第一個字節開始),返回最終結果所花費的時間就越長。根據返回一個正面或負面結果的時間長短,一個攻擊是有可能,通過許多請求樣本,精心製作一個字符串與祕密字符串比較返回正面結果的字符串,這個祕密的字符串的值,是目標服務器簡單的在一個時間內通過猜測這個字符串的一個字節,然後測量每一次猜測的執行時間。這個服務器的祕密有可能攻擊者想要執行一個請求是一個文本密碼或者正確的密碼簽名,例如用於幾個開協議諸如 OpenID 或者 OAuth。這顯然使一個攻擊者贏得足夠的信息來執行諸如僞裝受權用戶等的二次進攻。

這種形式的攻擊被稱爲遠程時間攻擊(Remote Timing Attack)。時間攻擊在過去是個大問題,但在如今的互聯網上去很難執行,因爲網絡的抖動干擾,在很小的時間內解析不同的努力被限制了。然而互聯網仍然擁有挑戰成功對遠程服務器執行時間攻擊。在本地網絡和雲計算上不斷增加的使用框架,網絡抖動可能會顯著減少,使得遠程時間攻擊的可能性增加甚至是更小的時間信息泄漏,諸如比較任意兩個字符串導致的泄漏。作爲一個預防措施,相應的改變應用了一個固定的比較時間對於一些類,這些類是在任何潛在遠程時間攻擊中有吸引力。一個固定的比較時間功能不會泄漏任何對於一個攻擊者可利用的時間信息,這樣阻止了任何將來這種攻擊的風險。

我們感謝 Padraic Brady 在鑑別和修改這些漏洞方面的努力。

安全這部分,翻譯得很亂,主要是一些理論上的東西,所以不懂其實也沒多大關係,知道改寫了幾個類,加強了安全係數,就可以了。具體哪幾個類,Zend Framework 團隊也沒有具體指出來。

Dojo 支持

Zend Framework 的默認 Dojo 工具包的版本已經跳到1.5.0版本,它包括一個新的 dojox.mobile 組件,一個服務於客戶端移動應用程序的簡單框架。

SimpleDB 支持

Zend Framework 已經在好幾個版本中提供了對 Amazon Simple Storage Service(S3),Simple Queue Service(SQ3),以及 Elastic Cloud Compute(EC2)平臺的支持。Zend Framework 1.11.0 爲 SimpleDB 添加了支持,SimpleDB 是 Amazon 提供的非關係文檔儲存數據庫服務。該支持通過 Zend_Service_Amazon_SimpleDb 對 SimpleDB 的所有操作提供支持。

Zend Framework 的 SimpleDB 適配器原先是由 Wil Sinclair 所寫。

eBay Findings API 支持

eBay 有一個擴展的 REST API,允許開發者創建應用程序從而與 eBay 的擴展數據互動。Zend Framework 1.11.0 包括了 Zend_Service_Ebay_Findings,它爲 eBay Findings API 提供了全面的支持。這個 API 允許開發者使用目錄和關鍵字查詢正在進行的 eBay 拍賣細節。

Zend_Service_Ebay 是由 Renan de Lima,Ramon Henrique Ornelas 和 Don Bosco Nguyen Van Hoi 貢獻的。

MariaDB 兼容

Zend_Db 的 mysql 和 Pdo_Mysql 適配器現在是完全兼容 MariaDB,相關文檔已經被更新來反映關於 MySQL 可配置選項。

新的配置格式

Zend_Config 在 Zend Framework 是一個很受歡迎的組件,它提供了 PHP 數組,XML 和 INI 配置文件等等的適配器。Zend Framework 1.11.0 現在提供兩個額外的配置格式:YAML 和 JSON。

Zend_Config_Yaml 提供了一個很初步的 YAML 解析器,它應該可以和絕大多數的配置格式正常工作。然而,它還允許你指定一個不同的 YAML 解析器,如果你想這樣做的話。允許您撬動不同的工具,諸如 PECL 的 ext/syck 或者 Symfony 的 YAML 組件,sfYaml。

Zend_Config_Json 改變了 Zend_Json 組件,通過擴展 ext/json。

這兩個適配器都支持 PHP 常量,同時提供了在配置對象基礎上寫入配置文件的功能。

Stas Mylsshev 爲 Zend Framework 創建了這兩個適配器;Zend_Config_Json 同時還得到了來自 Sudheer Satyanarayana 的幫助。

URL 縮短

Zend_Service_ShortUrl 在這個版本中被添加了。這個組件爲使用絕大多數的 URL 縮短服務提供了一個簡單接口,通過簡單的定義 shorten 和 unshorten 方法。這兩種服務的適配器,http://jdem.cz 和 http://tinyurl.com,在這個版本中被提供。

Zend_Service_ShortUrl 由 Martin Hujer 貢獻。

額外的視圖助手

一些新的視圖助手如下:

  • Zend_View_Helper_UserAgent 和 Zend_Http_UserAgent 密切相關,細節見上。它給你訪問 UserAgent 實例,允許你檢索相關的移動設備和功能。
  • Zend_View_Helper_TinySrc 是一個 Zend Framework 1.11.0 移動功能的額外部分。這個助手和 TinySrc API 密切相關,允許你(a)爲你的網站提供和移動設備相適應的圖片尺寸和格式,同時(b)從這個第三方服務中卸載這些圖片。這個助手創建 img 標籤指向該服務,同時提供指定自適應尺寸和格式的選項。
  • Zend_View_Helper_Gravatar 與 Gravatar API 相關,允許你爲註冊用戶提供 avatar 圖片來使用 Gravatar 服務。這個助手由 Marcin Morawski 貢獻。

感謝你們

我們想感謝無數的貢獻者,他們使得 Zend Framework 1.11.0 成爲可能。超過200個問題和特性要求在這個版本的準備階段被關閉了。反映出無數貢獻者對這項目的努力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章