PHP: 單行註解遇到程式結束符號的問題

幫別人 Debug 的時後, 遇到一個很有趣的問題, 明明程式看起來沒錯, 但是就是有 Error. (不過, 如果用 vim + syntax on, 答案就很明顯).

程式簡單範例如下:

<?php
// $a = 1; ?>
$b = 2;
?>

主要的原因是出在 "//" 並不會把 "?>"  列入註解, 而是程式會在 "?>" 這邊就結束了, $b = 2 這段就會當一般文字印出來. 這種 Bug 在其它編輯器要找出來還真是有點難, 不過在此當然要多推廣 vim, 一打開就發現問題在哪邊了.... XD

剛剛上面那行註解的方式應該要如下:

<?php
/* $a = 1; ?> */
$b = 2;
?>

用 /**/ 就不會有程式被提前結束的問題. 另外, 就是改用 vim 吧... 😛

GoNav S900(GO阿姨) 入手

GoNav-S900 這台是朋友辦中華電信光纖送的, 但是因為系統有問題, 說要重新安裝一些程式, 所以一直丟在牆角不理它~ 既然在牆邊, 當然要拿過來好好玩玩, 所以拿到就開始爬文, 找程式要去哪裝等等~ 😛

結果搞了一個晚上, 重點是 程式是要在 PaPaGO官方網站 下載, 升級也都是從官方網站下載升級. 但是裝 R12/R15 都行不通(都在 "Hinet 光世代"的畫面 就卡住不動), 也都格式化成 FAT, 最後換其它張 SD卡, 就搞定了. =.=|||

閱讀全文〈GoNav S900(GO阿姨) 入手〉

好站: PHP function 轉換成 Ruby 的查詢手冊

PHP 有很多方便的 function, 但是要轉換成 Ruby 的話, 需要另外花一點時間做摸索.

這個網站裡面有列了不少常用的 function, 假如要查 fpoen, 可以用 http://railsforphp.com/fopen 來查詢(會自動導到 http://railsforphp.com/reference/filesystem/fopen), 就可以查到 PHP 原本寫法, 然後在 Ruby 裡面該怎麼寫的範例.

詳細可見:

註: 真希望 Python 也有這種轉換的 Reference 可以看~ XD

諸葛神算 384 籤

昨天聚會被人說寫的文章都太專業了, 看不懂, 所以.... 來寫點不一樣的.. XD

諸葛神算主要是用抽籤的, 就是想要問什麼東西(工作/愛情.. 等), 先想好後, 然後隨便想三個字(要剛好三個字, 不能多也不能少), 再去算那三個字的筆劃, 每個字的筆畫, 都取最後的那個尾數(ex: 16 取 6), 然後組合成一個三位數的值, 如果那三位數的值大於 384, 就把那個值減掉 384, 一直減到小於 384 後, 再去看簽運即可.

閱讀全文〈諸葛神算 384 籤〉

用 Mplayer 將 mms 的影片存檔

要將 mms://xxxx 的影音串流存起來(或說 錄下來), 用 mplayer 就可以輕鬆做到囉~ (不會有影片播出來, 等待跑完就是囉~)

  • mplayer -dumpstream mms://URL/FILENAME -dumpfile SAVED-VIDEO-FILENAME

感謝 Samael Wang 推薦的軟體: MiMMS: MiMMS(it's an MMS (e.g. mms://) stream downloader). MiMMS is a program designed to allow you to download streams using the MMS protocol and save them to your computer.

要使用 HTML link 來安裝 Debian/Ubuntu Package 如何寫

常常寫到要 apt-get install screen 等, 但是如果直接變成 link, 一點下去就可以直接安裝, 或許是個更快的方法. (apt-get install screen, 然後把 screen 變 link, 點選就會安裝 screen 的 package).

閱讀全文〈要使用 HTML link 來安裝 Debian/Ubuntu Package 如何寫〉

Shell Script: 來最多次的 IP, 抓前 10 名

一隻簡單的 Bash Script, 找出暴力攻擊 Server 的 IP, 然後不得已的情況, 就是把他擋掉....

Shell Script: tail -1000 /var/log/apache2/www-access.log | awk '{print $1}' | sort | uniq -c | sort -n | tail

取最後進來的 1000 筆 access log 來看, 觀察一下有沒有太誇張的 IP (特別是看有沒有是特別來亂的, ex: 開始亂塞些惡意的值)

列出大致如下:

  • 次數 和 IP
  • 10 xxx.xxx.xxx.x
  • 100 xxx.xx.xx.x
  • 300 xx.xx.x.x
  • ... 等 10 筆

再去 grep 最大量的那些 IP, 看看是不是來亂的, 如果是來亂的, 擋掉這個IP, 或視情況擋掉那個網段(Linux):

  • 擋掉 100.100.1.1 的 IP: iptables -I INPUT -s 100.100.1.1 -j DROP
  • 擋掉 100.100.0.0 整個網段: iptables -A INPUT -s 100.100.0.0/24 -j DROP
  • 解除: iptables -D INPUT -s 100.100.1.1 -j DROP