2018/09/23

「綠色奇蹟」舊電腦回收

舊的實驗器材已經無法在使用了,另外還有一些線材、零件不知道怎麼處理。然而一般的垃圾車、資源回收車是不是真的有回收再利用又是個問號,一時之間難以下決定。


查了一下 3C 產品的回收機制,無意間看到一個回收團隊「綠色奇蹟」。



該團隊不是將回收的 3C 廢棄物依照材質分類回收,而是由志工檢測可再利用、無法使用的零件,另外拼裝成電腦主機、控制器等裝置,再將這些拼奏起來的裝置轉讓給有需要的機構,像是偏鄉地區的學校、其他志工團隊,或是其他需要的單位。

若您手上有不再使用的 3C 產品,如記憶體、CPU、主機板、滑鼠、鍵盤、線材等,可以至綠色奇蹟網站上填寫舊電腦回收表單綠色奇蹟收到您的申請後,會電話與您聯繫,並派車至指定地點接收欲廢棄的 3C 器材。

這幾個步驟,您只要與綠色奇蹟、快遞士電話聯絡,沒有需要額外的金費支出。一個簡單的流程,讓您可以空出生活空間,並讓資源缺乏的單為一個支援的機會,一舉兩得。

2018/09/19

透過 AWS 的服務防止圖片盜連

前陣子決定要找部落格的圖床,再加上 Blogger 開始支援 HTTPS,最後決定花點小錢,直接使用 AWS s3 + cloudFront 來當作圖床。

沒錯,流量小的時候的確是只要花一點小錢,但是哪天誤會被 DDoS、圖片被有名網站盜連,這就不是錢錢可以解決的事情了。

「盜連」這個動作在英文是「Hotlinking」,搜尋了一下發現 AWS 可以透過 CloudFront + WAF 的輔助,完成防止盜連的功能:How to Prevent Hotlinking by Using AWS WAF, Amazon CloudFront, and Referer Checking

主要是使用 HTTP header 中的 referer 來做來源檢查,設定可參考下圖。

圖一:先去 CloudFront 察看正常會使用到圖片的平台



圖二:在 WAF 建立規則


這樣大致上就可以解決圖片盜連的問題了。

但,AWS WAF 的定價可不便宜,一個 web ACL 定價是每個月 5 USD,也就是說如果圖片每個月被存取的次數沒有超過 400 次以上,其實用了 WAF 反而費用較高。就請大家自行衡量了。

2018/09/18

C 語言 scanf() 在迴圈沒有停止的問題

程式大概是這樣:
scanf("%c", &input)
while (input == 'y') {
    // ....
    scanf("%c", input);
}

結果 while 裡面的 scanf() 沒有停。原因是輸入「y」並按下 enter 後,scanf 拿到的是「2\n」,所以 input 會是 2,但 \n 還在 input buffer 裡面,第二次 scanf 會以為使用者已經有輸入值 (空字串) 就繼續往下執行了。

要讓 scanf() 避開這個問題,只要在「%c」前面加上一個空白即可:
scanf(" %c", &input)

Ref:

2018/09/17

HiNet 宣佈年底關閉 Proxy 服務

看到 Hinet 宣佈 2018 年底中止 Proxy 服務,另外看到 gslin 的文章說「網站都走 HTTPS 的情況下,Proxy 服務能帶來的好處愈來愈少了」,當下想不出來為什麼。

查了一下資料恍然大悟。HTTPS 主要目的就是希望所有的網路資料傳輸不會被中間人 (MITM) 竊聽,當然這個和 proxy 的目的剛好互斥,proxy 的行為就是做中間人並協助將常用檔案儲存起來讓你下次使用時可以快速取得。所以走 HTTPS 的話資料是不會進 proxy 做快取的。

ref:

2018/09/12

三思,而後行

今天在「快樂、喜洋洋:高雄精神科診所」看到一篇文章「成人要如何診斷亞斯伯格症?」,裡面有提到幾句話,我覺得很重要:
....
請不要直接衝到精神科門診,跟醫師說我要診斷亞斯伯格症。就算簡單的看診後,醫師說你是或不是,這樣的診斷意義不大
....
廣泛閱讀,誠心誠意地跟你的伴侶、好友討論自己的亞斯特質(當然他們也得有些概念、也得多看點書),拋開成見地省思你的一生,找出自己的優點,但也要面對自己與其他人之間曾經發生的誤解。如此,你才能確定,亞斯特質是不是對你的人生帶來巨大的影響


年初得了流行性感冒,因為病症不明確所以需要卻診來對症下藥。當時透過關係得知高雄醫學大學附設醫院 (簡稱「高醫」) 有提供流感快速篩檢服務,因此至急診室掛號。記得當時的對話大致上是這樣子的:

「目前有針對流感的用藥,目前政府有提供『克流感』藥錠,要不要直接拿回去吃?」
「是否等快篩結果確定以後在決定是否要服藥?」
「我們有提供快篩服務,但正確率大約 60%。如果檢查結果為陰性,你確定就不吃藥繼續下去?」
「....」
「不如你之接拿克流感回去吃吧」

以上可以看出我:
  • 不了解流感服藥的差別
  • 不曉得流感快篩的用途
  • 還沒決定確診後要進行治療

以上是一個錯誤的示範,造成了醫療資源的浪費 (醫生的診療時間)。

避免浪費時間、資源 (不管是醫療資源,或是其他資源),同樣的方法也可以用在不同的情境底下。

「聽說你要換工作喔?」
「對啊,住台北的生活費太高了,有機會不如住家裡」
「你之前有提加薪嗎?」
「沒耶」
「那如果薪水多一倍,你會留下來嗎?」
「不會」
「為什麼?」
「就 .....」
「其實你在意的根本不是薪水嘛 ....」



總之,以後遇到問題時,要想想:
  • 目前遇到的問題,對我到底造成了什麼影響?是否一定需要解決?
  • 如何解決這個問題?
  • 解決問題消耗的資源是否比目前面對問題消耗掉的資源還要多?
  • 解決當下的問題後,是否會產生其他問題?
  • 在思考以上問題的時候,自己的意識是清醒的 XD

2018/09/11

Git 2.19 released

Git 2.19 釋出

新功能大致如下:

  • git range-diff
  • git grep 功能加強
  • branch 排序方式
  • 目錄重新命名偵測
  • .... 其他
詳細內容請參考:Highlights from Git 2.19

2018/09/10

該死的 Windows (抱怨文)

週五晚間收到網站離線的 alert,以為只是網路滿載暫時性的離線,沒注意到機器一直沒有回來。

剛剛要使用時才發現機器到現在還是異常,無法遠端,所有原本自己留的後門 (由外到內的管理通道) 全部陣亡,算是超大條的問題。

回到家直接操作實體機器,花了一段時間檢查以後,才發現 Wiindows 網路卡設定 (device) 被幹掉重新建立,所有設定都跑掉了。我完全沒印象假日二天有 Windows 警告硬體驅動程式錯誤、重新掃描的訊息,只有看到「Windows」需要重新啟動的視窗。

總之 .... 很不爽 ....

2018/09/04

植栽土壤介質筆記

由於前陣子石蓮往生了,目前正在進行敗部復活戰,開始查資料並做筆記。

當作介質的土壤會影響不同植栽的根部發展:

  • 砂石類型:排水性佳,不容易讓根部因無法換氣而腐爛,較適合多肉植物、耐旱植物。但也有朋友說砂石類型的介質,很難讓植物根部抓穩固定,遇到極端的天氣可能會有問題。
  • 泥碳土:保水性較佳,顆粒細小也使透氣較差。
  • 椰殼纖維:排水性、和保水性與前二者較平均。
通常可以依照植栽的特性來按比例調配適合的土壤來種植。

Reference:
備註:蘆薈應該是我遇過生存能力最強的植物了,沒有土壤直接放在塑膠袋丟在角落,過了一年都還好好的。
如果這次連蘆薈都種失敗,我就乖乖回去寫程式 ....

防止搜尋引擎顯示敏感資訊

Google 搜尋引擎提供了強大的功能,讓使用者可以快速的找到需要的資料。所有事物都有雙面刃的特性,也因此有人使用他來做惡意行為,像是搜尋個人隱私資訊、帳號密碼、網站架構、特定檔案等。

圖一:透過關鍵字和「filetype」搜尋到的聯絡人資訊




圖二:Google 也可找到一些可下載的檔案


早在 10 年前,我就使用這些搜尋技巧在網路上搜尋可用的電子書以及其他資料,只是已意外的到現在還有這麼多網站有安全問題。



透過 robots.txt 告知搜尋引擎不要建立索引


搜尋引擎除了造訪各個網頁,並儲存網頁內容以外,會先參考網站根目錄的「robots.txt」檔案,此檔案主要目的是告訴搜尋引擎哪一些路徑不應該被建立索引、不該被搜尋:

通常會設定為:
User-agent: *
Allow: /
Disallow: /upload/
Disallow: /download/
Disallow: /file/

但要注意:並不是所有搜尋引擎都會按照你預期的方式處理。

同樣的,由於雙面刃的特性,當惡意使用者發現 robots.txt 中有「Disallow」的項目,就可以猜得到這些目錄有敏感資料,進而特別去分析這些目錄的用途。


目錄加上 HTTP basic auth


這個作法很簡單,搜尋引擎造訪網頁時沒有帳號、密碼,無法讀取資料,也就沒辦法對網頁內容建立索引供使用者搜尋。



透過防火牆阻擋擋搜尋引擎


若有注意的話,你可以在 HTTP server log 中看到 user agent 的資訊,例如:
 .... Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

順著 user agent 的提示,你應該會發現多數的搜尋引擎 bot 都會有關鍵字,且有些搜尋引擎服務甚至會告知 bot 所使用的 IP。透過這些設定,設定防火牆或其存取規則,來阻擋搜尋引擎讀取特定網頁。

ps. 十多年前,百度的 bot 會在一秒內同時送出數十個 HTTP request 來檢索網頁,導致機器被DoS。後來不爽把所有中國網段全部用防火牆給擋了 ... Orz