發表文章

目前顯示的是 1月, 2012的文章

php 5.2.* 如何解決Hash Collision

前一陣子出現個名詞Hash Collision。接者Hash Collision DoS這名詞跟者出現,而後就看到很多系統、語言開始出現更新patch。 XD Hash Collision影響範圍有多廣,可以參考 oCERT.org - oCERT Advisories 。裡面列出受到影響的語言、系統,以及目前的狀況。以php為例,5.3.9後、或5.4.0RC4後的版本才修正此狀況。 可以更新的語言或系統,就請自己更新…如果不再上面的,就比較麻煩了… :( 以php 5.2.x為例。出了 PHP 5.2.16 時,PHP官方指出該版本是php 5.2.x 的最後一版,往後將不再維護。雖然,沒多久因為一個重大問題,又馬上出了 PHP 5.2.17 。但…這次聽說不會因為Hash Collision出新版本更新此問題。 只好找治標的方式來防止。PHP的參數中和Hash Collision攻擊有關的php參數有兩個

秀巒控溪吊橋楓紅

圖片
秀巒檢查哨附近的楓紅 位於新竹尖石、五峰霞喀羅古道,其實非常的深山。每次(冬天)去造訪,都是天還沒亮時就開車出發,回到家時天也早已經黑了…最快的一次,是回程時經過內灣時天才黑… 雖然車程是如此緊湊,每次經過途中的宇老、及秀巒時,卻一定會挪出時間,在這兩處欣賞風景、拍拍照片。之後才會去霞喀羅古道養老段。 運氣不錯,到達關西休息站時,天氣已經轉好。

新竹霞喀羅古道賞楓

圖片
霞喀羅古道 之前趁深秋時,走了一趟 三峽雲森瀑布&姊妹瀑布 。很可惜的,雲森瀑布前的楓還是綠色…沒欣賞到雲森瀑布的楓紅。之後,終於來了兩波寒流。想想,新竹霞喀羅古道上的楓葉應該轉紅了吧? 一早天還沒亮,一行人就約好出發了。清晨的台北還是飄者毛毛細雨,到關西收費站前還有點霧。到了關西服務區天氣才轉好… 算一算,走霞喀羅古道養老段也已經四、五次了,每次路況都不同。猶記得第一次造訪時,霞喀羅古道聯外道路的路況非常的差,隨處可見施工處、石堆、跟車一樣的落石…所幸車子底盤高,才輕鬆過去。今年,霞喀羅古道聯外道路的路況非常的好,需要感謝養護單位的努力。 還有一個變化…原本在養老登山口空地改建成平台。剛到時還真傻了眼,因為這樣讓停車位少了很多。後來才知道,下方另外闢建了一個停車場…

以php檢查ip網段

隨者機器越來越多,將單一IP以字串方式檢測的方式,當網路臨時調整時、或者要檢測的IP數很多時,就有點麻煩了。使用判斷網段的方式,會比較有彈性。 依照tcp/ip的邏輯,利用位元運算先做出了第一版 function  matchCIDR( $ip ,  $cidr ) {     list( $ip ,  $mask ) =  explode ( '/' ,  $cidr );      $mask  =(32 -  $mask );      return  (( ip2long ( $ip ) >>  $mask ) == ( ip2long ( $ip ) >>  $mask ));   }   想說,是否有更快、更好的的作法?在 PHP: ip2long - Manual 看到了兩個作法。一個作法,很有效率。另一個卻比較差。 下面這個PHP程式碼,根據實際測試的結果,速度是最快的。不過…程式碼的可讀性比較差,需要想一下才能瞭解其邏輯。 function  netMatch( $IP ,  $CIDR ) {     list ( $net ,  $mask ) =  explode ( '/' ,  $CIDR );      return  (  ip2long ( $IP ) & ~((1 << (32 -  $mask )) - 1) ) ==  ip2long ( $net );   }