像我這種人,或許是真的累積了一些經驗,也或許是運氣好,我發現,有時候直覺還真的蠻準的。
昨天有個客戶,因為有效能的問題,大批人馬被抓去開會,我則是臨時被抓去的,出發前都還搞不清楚要去做什麼。到了那裡,聽了一下所有人對問題的描述,我大概有抓到頭緒了。只不過,因為我只是小小配角,也不好隨便發言,所以只抓了一個適當的時機,提出一個我想問的小問題。得到的回答,聽得出漏洞,但我也不好趕盡殺絕,畢竟我也寫過程式,我想他們應該聽得出我實際想要講的東西才對。沒想到,事後我才知道,我提出的那個問題,其實前一週原廠工程師進行分析的時候,也有提出類似的建議。
(( 其實聽到這個心裡還蠻得意的呢,我事先並不知道已經有找原廠提過建議了,我只是憑直覺看到我有疑問的部份而已... ))
當天還有一個狀況,是 database 裡面多了三個莫名其妙的 table,沒有人承認是他建的。看了一下 table 的內容,是硬碟的 C槽下的檔案內容。這很像 sql injection 啊~~ 我講得很小聲,但客戶找來的程式開發廠商還是聽到了,他們也當場回應說先前就有遇到過這問題,程式已經改過了,現在已經都改好了,所以不會是這個問題。不過,我心裡還是充滿疑惑就是了。
回到公司後,針對那三個 table,我們有同事一口咬定一定是那個廠商自己建了但是忘記了,或者是那個廠商裝了什麼軟體,然後是軟體去建的。但是,我總還是覺得很像 sql injection啊。後來我還連到客戶的網站上去,隨便找了幾個可以輸入資料的地方 try try 看,原本還蠻希望我可以試出什麼來,這樣就有證據了,可是試不出來,於是放棄,想說明天有空再來試好了。
第二天進公司,就聽說有幾個同事整晚待在客戶那,帶著資安防護廠商的顧問,在客戶那裡查問題查了整晚。其中一個同事早上進公司後,我問了一下狀況,沒想到,的的確確就是 sql injection 啊!!! 而且,問題就是出在那三個怪 table 啊!!! 他們最後找到的有問題的那支程式,剛好是我前一天沒玩到的。
沒想到,沒想到。這證明了我的直覺還是蠻準確的,如果我能依據我的直覺繼續研究下去,說不定更早就能發現問題。只不過我累了,想回家了,所以就收拾東西下班了。:p
有時候真的要對自己有信心才對啊~~~ 只不過,如果讓自己的直覺能夠在最短的時間內變成是有說服力的東西,這應該是我還有待加強的地方啊。
--------------------------------------------------------------------------------------------
附註說明:
sql injection 是一種利用網頁程式上的漏洞所進行的駭客攻擊行為。有些網頁若是寫得不夠完善,容易讓人經由正常的管道來進行一些動作,像是查詢一些機密資料,甚至是修改資料、刪除資料,嚴重的話,如果真的該限制的都沒限制,還可能可以進行一些破壞性的指令,像是 format 之類的。google 隨便查一下,可以查到很多相關的資訊。
寫過程式的人應該都知道,丟到後端的 sql statement 一般來講都是用字串組起來的。sql injection 其實就是鑽程式的漏洞,這些被輸入的字串若沒有被判斷輸入的正確性,則很容易被人填入一些奇奇怪怪的東西,來取得一些他不該取得的資訊。當然,database 端的權限設定和控管也很重要,適當的權限控管也能夠讓系統在這種型態的攻擊下,可以讓傷害減到最小。不過,這已經是很技術面的東西了,就不在這裡多做討論囉。
Showing posts with label 技術. Show all posts
Showing posts with label 技術. Show all posts
Friday, October 26, 2007
Friday, June 08, 2007
網頁的 autosave 功能
最近,我發現,不管是這裡還是樂多,在 post 新文章的頁面,都新增了 autosave 的功能。每隔一段時間,就會看到畫面上告訴你說在幾點幾分已經幫你存檔了。
這件事真的是有夠神奇的耶,我研究了一下原始檔,也看不出是怎麼做的。(如果這樣就被我看出,這programmer 的程式也寫得太差了點吧) 令我感到很佩服的是,我明明有看到它有連線的動作,我也看到畫面上 autosave 的時間一直會變動,但是,對於我正在打的文字,或是正在執行的動作,卻一點影響也沒有。
想到當年我配合 sales 去客戶那邊說明產品功能,客戶最不能理解的,就是,為什麼你們的東西沒有自動存檔功能啊? 在 word 裡打都有自動存檔功能啊? 當時我很努力地說明 web 畫面和 client 端軟體的不同,也很努力地告知如果真的要自動存檔,可以做,但是會影響到使用,也會影響效能。客戶就這樣勉強相信了我說的話,沒有再堅持一定要有自動存檔功能。
所以,當我發現這裡有這種功能的時候,覺得好神奇喔~~~ 真想知道是怎麼做的~~~ 因為,就我有限的知識來說,這 autosave,是可以在網頁上用 javascript 去設定時間,每隔一陣子就去做 form 的 submit。可是,問題就是,form 的 submit,就算 submit 之後導回原頁面,user 也會有感覺啊~~~
我來去查看看能不能找到相關資料好了,還是誰可以告訴我背後的原理啊?? 我真的是太好奇了~~~
這件事真的是有夠神奇的耶,我研究了一下原始檔,也看不出是怎麼做的。(如果這樣就被我看出,這programmer 的程式也寫得太差了點吧) 令我感到很佩服的是,我明明有看到它有連線的動作,我也看到畫面上 autosave 的時間一直會變動,但是,對於我正在打的文字,或是正在執行的動作,卻一點影響也沒有。
想到當年我配合 sales 去客戶那邊說明產品功能,客戶最不能理解的,就是,為什麼你們的東西沒有自動存檔功能啊? 在 word 裡打都有自動存檔功能啊? 當時我很努力地說明 web 畫面和 client 端軟體的不同,也很努力地告知如果真的要自動存檔,可以做,但是會影響到使用,也會影響效能。客戶就這樣勉強相信了我說的話,沒有再堅持一定要有自動存檔功能。
所以,當我發現這裡有這種功能的時候,覺得好神奇喔~~~ 真想知道是怎麼做的~~~ 因為,就我有限的知識來說,這 autosave,是可以在網頁上用 javascript 去設定時間,每隔一陣子就去做 form 的 submit。可是,問題就是,form 的 submit,就算 submit 之後導回原頁面,user 也會有感覺啊~~~
我來去查看看能不能找到相關資料好了,還是誰可以告訴我背後的原理啊?? 我真的是太好奇了~~~
Monday, April 30, 2007
在Excel裡複製格式到多個儲存格
我想要找這樣的功能找好久了,結果今天實在是忍不住,於是上 google 去查了一下,沒想到很容易就查到了...... 真是笨......
應該大家都知道,在 word/excel 裡,要複製格式的話,是要按那個油漆刷的 icon:

但是,我每次想要複製格式到多個儲存格的時候,都要: 1. 點我要的格式的格子 2. 點油漆刷 3. 點標的物的格子。然後就一直重複 1 2 3 1 2 3... 總覺得應該不用這麼笨吧,但又找不到什麼方法,按 ctrl 也不對,按 alt 也不對...
今天靈光一閃,笨喔,不會去 google 查喔。沒想到,好容易就查到了。原來就是在步驟2 的點油漆刷這裡,double-click on 油漆刷,然後步驟3就可以點 n 個格子,一直點到不想點,再按 Esc 跳出就好了。
好吧。如果你早就知道這個方法,你可以笑我笨;如果你還不知道這個方法,趕快學起來,免得被我笑你笨。 :p
應該大家都知道,在 word/excel 裡,要複製格式的話,是要按那個油漆刷的 icon:


但是,我每次想要複製格式到多個儲存格的時候,都要: 1. 點我要的格式的格子 2. 點油漆刷 3. 點標的物的格子。然後就一直重複 1 2 3 1 2 3... 總覺得應該不用這麼笨吧,但又找不到什麼方法,按 ctrl 也不對,按 alt 也不對...
今天靈光一閃,笨喔,不會去 google 查喔。沒想到,好容易就查到了。原來就是在步驟2 的點油漆刷這裡,double-click on 油漆刷,然後步驟3就可以點 n 個格子,一直點到不想點,再按 Esc 跳出就好了。
好吧。如果你早就知道這個方法,你可以笑我笨;如果你還不知道這個方法,趕快學起來,免得被我笑你笨。 :p
Tuesday, January 10, 2006
Blog 網頁的編碼問題
由於因為寫了一篇 post 是有關 Flora 旅遊團的, Flora 小姐也回了一篇 post, 順便在文章裡面帶了個連結. 我看到她給的連結是連到我的 blog 首頁, 於是我問她為什麼不指定 post, 直接帶那篇 post 的 url, 她說直接帶會整篇空白... 尤其是 title 是中文的時候.
於是就開始了我們兩人研究 html 的過程... 哈哈.
我現在都是用 FireFox, 所以根本沒這問題, 但 Flora 說用 IE 會.
所以, 當我改用 IE 試的時候, 發現還真的會這樣哩.
實驗過程大致如下:
1. 拿一篇中文 title 的 url, 用 FireFox 開, OK.
2. 拿同樣的 url, 用 IE 開, 一片空白.
3. 一片空白的 IE, 檢視原始檔發現是有東西的, 而且是完整的. 表示整個 html 是有被完整 load 到 browser 的.
4. 更改 IE 的語系, 把它由繁體中文改成 UTF8, OK.
然後哩, 我們又開始研究, 有勾自動選取, 為什麼它沒辦法判別這網頁是 unicode 呢...
不然, 每次都要去改語系, 也太笨了點吧...
研究了一會兒, Flora 問, 是不是要加這一行, 加了就會認得是 unicode...
Flora 實驗了一下, 說加了好像就好了耶...
但是我檢視原始檔的結果, 它本來的網頁就有這行啊....
然後... 啊! 我知道了!
原來是啊, 在 Template 裡面, ${BlogMetaData} 的參數在 title 下面,
而上面講的那個設定, 那一行, 是包在 BlogMetaData 裡面的,
也就是說, 當 Browser 先讀到中文的 title 時, 它就不認得它是 UTF8...
於是乎, 去 template 改一下, 把 ${BlogMetaData} 移到 title 上面...
一切就都正常了呢.
呵呵. 真的是蠻無聊的, 竟然還研究起這個來.
只是啊, 我現在都是用 FireFox, 所以一直都沒有發現有這樣的問題呢.
為什麼人家 FireFox 認識它是 unicode, IE就不認識呢...
這就是微軟比人家遜的地方啦~~ :p
Anyway, 很有實驗精神的結果就是, Flora 把連結改了,
這樣才不會以後越寫越多篇, 別人點連結都不知道是要看什麼.
呵呵呵. 這個實驗過程還蠻有趣的呢.
我好像還是蠻適合回去寫程式的樣子... 哈哈哈...
於是就開始了我們兩人研究 html 的過程... 哈哈.
我現在都是用 FireFox, 所以根本沒這問題, 但 Flora 說用 IE 會.
所以, 當我改用 IE 試的時候, 發現還真的會這樣哩.
實驗過程大致如下:
1. 拿一篇中文 title 的 url, 用 FireFox 開, OK.
2. 拿同樣的 url, 用 IE 開, 一片空白.
3. 一片空白的 IE, 檢視原始檔發現是有東西的, 而且是完整的. 表示整個 html 是有被完整 load 到 browser 的.
4. 更改 IE 的語系, 把它由繁體中文改成 UTF8, OK.
然後哩, 我們又開始研究, 有勾自動選取, 為什麼它沒辦法判別這網頁是 unicode 呢...
不然, 每次都要去改語系, 也太笨了點吧...
研究了一會兒, Flora 問, 是不是要加這一行, 加了就會認得是 unicode...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Flora 實驗了一下, 說加了好像就好了耶...
但是我檢視原始檔的結果, 它本來的網頁就有這行啊....
然後... 啊! 我知道了!
原來是啊, 在 Template 裡面, ${BlogMetaData} 的參數在 title 下面,
而上面講的那個設定, 那一行, 是包在 BlogMetaData 裡面的,
也就是說, 當 Browser 先讀到中文的 title 時, 它就不認得它是 UTF8...
於是乎, 去 template 改一下, 把 ${BlogMetaData} 移到 title 上面...
一切就都正常了呢.
呵呵. 真的是蠻無聊的, 竟然還研究起這個來.
只是啊, 我現在都是用 FireFox, 所以一直都沒有發現有這樣的問題呢.
為什麼人家 FireFox 認識它是 unicode, IE就不認識呢...
這就是微軟比人家遜的地方啦~~ :p
Anyway, 很有實驗精神的結果就是, Flora 把連結改了,
這樣才不會以後越寫越多篇, 別人點連結都不知道是要看什麼.
呵呵呵. 這個實驗過程還蠻有趣的呢.
我好像還是蠻適合回去寫程式的樣子... 哈哈哈...
Subscribe to:
Posts (Atom)