把ADT (Android Developement Tools) 更新到22.6 (2014年4月),發現到如果新增一個project 時,原本會自動建立src 內的package 及Activity class,還有在res/layout 內的Activity layout 的XML 檔,但是都沒出現,去找了Android 的issue tracker(#66647),問題是因為ADT 內的SDK tools 根本沒被更新到22.6,但是在SDK Manager 顯示出來卻是有。

把ADT (Android Developement Tools) 更新到22.6 (2014年4月),發現到如果新增一個project 時,原本會自動建立src 內的package 及Activity class,還有在res/layout 內的Activity layout 的XML 檔,但是都沒出現,去找了Android 的issue tracker(#66647),問題是因為ADT 內的SDK tools 根本沒被更新到22.6,但是在SDK Manager 顯示出來卻是有。

在網路上看到國外有人發現到ASUS 家用路由器的洞,剛好我也是用ASUS,檢查一下發現真的有這個洞…,詳細可以參考此網站。
主要有兩個洞,分別是XSS 跟 Authentication bypass,都是發生在error_page.htm 這個網頁,瀏覽此頁面是不經過身分驗證
if('1' == '0' || 'MY_PASSWORD_IS_HERE' == 'admin')
回報的人說明影響到的機型有
另外,N55U與 AC66U 沒有Authentication bypass 的洞。
不過,現在使用是RT-N12D1 在官網上的Firmware 更新中也有,所以,快去檢查路由器的firmware 是否有釋出更新
資料來源:https://sintonen.fi/advisories/asus-router-auth-bypass.txt
今年臺灣燈會辦在南投,原本去年底就想開始寫,那時候還不知道有什麼功能可以做,直到看了南投縣政府的官網出來後才花了一些時間寫(官網用CodeIgniter 做的樣子),最後利用Google Map API 做出了燈會地圖,希望不要有太多bug 就FC 啊…有的話請麻煩回報一下,有建議可以告訴我,在文章、Goolge Play 評論留言或者mail 給我 ym.huang0808 [at] gmail.com,測試的環境就有我的手機Nexus 5…,沒有平板能做測試(差點衝去買一個Nexus 7…)。
在處理「10,000 Top Passwords」的檔案時,想轉成array 資料型態存起來,檔案是:
password, 32027
123456, 25969
12345678, 8667
1234, 5786
qwerty, 5455
12345, 4523
dragon, 4321
pussy, 3945
baseball, 3739
football, 3682
第一欄是要儲存成array 的資料,就想到利用AWK 來處理,之前有用過了,不過現在有點生疏,來筆記一下,加深印象。
AWK 是讀取檔案或利用pipeline 的方式讀取接收到的結果,以每行為一個記錄(record)進行處理,在行中會在被區分成欄位(field),預設區隔欄位的則是空白
$ awk -F fs -v var=val 'pattern {action statements}' filename

最近要開始改履歷了,所以就利用部落格來回想一下參加 2013 TiC100 的過程。
距離去年(2013)的 TiC100 也有半年多的時間,從一開始看到學校研發處發的 email,用Google 搜尋到 Youtube 上的2012 年冠軍 team 總決賽影片(參考此連結),當下覺得可以完成一個東西真棒!
在報名前,因為有些人有畢業後的工作,組員變動了不少次,最後我們由五個人組成了 CPU,組員來自不同背景包括企管、電機、景觀、資管,在一開始的履歷審核與議題配對就發現到不同系的人會有不同的溝通語言與思考邏輯。
主辦單位議題配對出來後會舉辦議題說明會,在說明會前,與 Dani 老師開會時,提醒我們要好好的了解選到的議題內容,因為不是每個組員對物聯網 (IoT)、RFID、ZigBee、商業模式(BM) 等有概念,每個人針對自己擅長的部分跟大家做分享。當天在研華公司的議題說明會時,大家都發現到對議題 owner 在說明、講解的技術應用與用詞會更加了解。

組員們一開始都是沒合作過也互相不認識,大部分 meeting 時,會從 A 方向討論到 C、D、E 方向,大家的想法都不同,所以幾乎 meeting 都是要 2~3 小時以上,在某一次 meeting 時,有發現到一個做法還不錯,要專注在單一方向實際上不太可能,可以利用大張一點的紙或白板記錄下討論過或者還沒討論完的內容,能記越詳細越好,這樣能避免討論到 E 方向時,要跳回 A 時又要重新來過(這跟 stack 很像)。
在CodeIgniter 中可以設定Database 使用的Driver,修改資料庫連線的設定檔存放在:
application/config/database.php
裡頭有一個設定值是有關使用dbdriver的:
$db['default']['dbdriver'] = '';
在Android 3.X 以下的版本,手機都會有實際的Menu 鍵(Menu button),但是在3.X之後的把實體Menu 鍵拿掉,引進了ActionBar 的類別,將Menu 鍵放在ActionBar 的部分,因為,最近把手機換成Nexus 4,發現Portable e-Campus 學校的App 沒顯示Menu 按鍵,查了一下看到官網有提供解決方法,這個方法很簡單,不用加ActionBar,因為我們的App 在某些介面下加入ActionBar 看起來會不太搭,但是之後可以會把ActionBar 加上去,因為這樣才能讓使用者有一致的操作方式。


mysqldump工具蠻常來使用備份資料庫,會將所要dump的Database備份成一個SQL Script檔案,如果要還原的話,只要在MySQL執行SQL Script即可。
mysqldump [options] [db_name [tbl_name ...]]
在mysqldump的文件中有介紹到常用的指令方式
shell> mysqldump [options] db_name [tbl_name …]
shell> mysqldump [options] –databases db_name …
shell> mysqldump [options] –all-databases
最近在利用CodeIgniter開發網站時,需要檢查使用者輸入的值是否有重複,為了避免使用者都輸入完資料送出表單後才去檢查,利用JQuery中的Ajax在輸入完的時候就進行檢查,但是利用Chrome Developer Tool來Debug時候,發現錯誤訊息是:
POST http://localhost/index.php/my_ajax/is_username_duplicate 500 (Internal Server Error)
最後Google後發現原來是我在之前開啟CSRF的問題。
CSRF(Cross-Site Request Forgey, 跨站冒名請求)為當使用者在已登入的狀態下,被攻擊的人執行了使用者未知的操作,因為,當使用者在登入狀態下,只要不關閉瀏覽器,就會保留著Session或Cookie,網站通常都是利用檢查Session或Cookie來確認使否連線進來的使用者是否已經登入,所以攻擊者可以利用社交攻擊,傳送一個連結或操作等,使用者在未知情況下去操作,就可能會依照使用者所安排好的操作去執行,聽來聽去可能有點霧煞煞,參考網路上的一下範例解釋一下:
HTTP Request有兩種分別是POST及GET,在GET 方法可以利用網址後面帶入變數的方式,例如:
攻擊者可能利用電子郵件或者社群網站寄送一個連結給使用者
這個連結可能是讓使用者買某個東西送給某人,如果使用者不經意點擊,就可能發生了,那會有人說改用POST就好了,其實不盡然,因為只要攻擊者利用JavaScript就可以執行POST 方法了