Skip to content

Devi's Site Posts

如何在JavaScript中產生UUID

如果只需兼容現代瀏覽器(Chrome)的話, 可以更簡易地使用…

目前應該只有內核為Chromium的瀏覽器有支援到, 就是Chrome, Edge等等, 其他瀏覽器的支援程度可以看看這邊.

利用排程工作(Cron job)來自動重啟掉線的路由器

本人居住於唐樓,很早以前便開始使用SIM卡上網取代昂貴8M網上爬。以前一直是使用Asus RT-AC51U加上華為E3372H-153的LTE Dongle來上網的,後來為了更高速的網速體驗,更換了Asus 4G-AC53U直接插SIM卡免煩方案。這樣可以把原先 LTE Dongle + Router的理論上限速度從100Mbps提高到300Mbps。

除了更換了上述方案外,我還更換了網絡供應商 (ISP),速度比以往提升了10多20Mbps。雖然速度提升了不少,但卻常常遇到斷線的問題,尤其繁忙時間更甚。(OS: 可能是這個ISP知道我是用作家居寬頻使用然後故意把我斷線) 斷線後前往路由器主頁觀看,狀態都是“連線中斷”、“沒有偵測到SIM卡”、“您ISP提供的DHCP功能發生錯誤”等等。

遇到以上問題, 正常來說直接等待Router再次連上SIM卡就好 ,但我卻發現我的Asus 4G-AC53U並不會自己重連,而是一直保持斷線狀態。經過Google幫助後,還是搞不清楚道是路由器的問題還是ISP的問題。最後只能亡羊補牢,嘗試設置斷線後自動重新連接,不用每次都手動重啟路由器。

在某個關於 Asuswrt-Merlin 的外國論壇上看到了Asus路由器的某些4G模組相關指令,嘗試自行編寫shell script來重啟interface,但無奈不是每次斷線都能重啟interface就能解決,還有其他原因會導致斷線。把心一橫,不行就直接重啟路由器算了。以下shell script是watchdog script的一種,監視著router如果不能連接google的話就會嘗試重啟interface,如果重啟之後10秒後依然不能連接到google的話就會重啟路由器。

SSH免密碼登入遠端主機

有多種系統維護的狀況,都是使用 shell script 方式到遠端去處理,而中間傳輸的過程需要加密,所以就必須使用 SSH 來連線,問題在於 shell script 執行時並不會有管理者去輸入密碼,那麼怎麼認證呢?怎麼免密碼到遠端主機去做事??

你需要幾個步驟

  • 設定 Firewall 
  • 建立 Public / Private key
  • 複製 Public Key 到遠端主機去

Step 1:設定防火牆 iptables

11 個強化 WordPress 安全的 .htaccess 設定技巧

.htaccess是一個設定檔,讓你可以控制該路徑下的檔案及資料夾,以及所有子目錄。這個檔案名稱是由 hypertext access 而來,能為大多數的伺服器環境使用。

對於許多 WordPress 使用者來說,他們第一次看到 .htaccess 檔案應該是在自定他們網站的固定網址時。為了使用更美觀的鏈結,而不是預設的鏈結格式(例如:https://free.com.tw/sample-post/ 而不是 https://free.com.tw/?p=123 ),我們必須將以下程式碼加入 .htaccess 檔案:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress

如果 .htaccess 不存在,你可以自己建立一個然後將它上傳。你需要做的只有建立一個空白的文字檔,將它儲存為 .htaccess 然後上傳到網站的根目錄。請確認在檔案的開頭有一個點,是不可漏掉的。

你也必須確認你的 .htaccess 檔案是伺服器可寫入的,WordPress 才能將適當的程式碼加入你的 .htaccess 。WordPress.org 建議把檔案權限設定為 644 。

.htaccess 檔案不僅用於固定網址,該檔案也能強化網站安全。數以百萬的 WordPress 用戶利用它來保護網站免於垃圾郵件發送者、黑客和其他已知的威脅。

在本文裡,我會分享一些用於 .htaccess 的程式碼片段,可以強化你的網站安全。相信你會找到一些對你有幫助的程式碼。

你可能也注意到上面固定網址的 .htaccess 程式碼是包覆於 #BEGIN WordPress 及 #END WordPress 裡。WordPress 可以更新這個標籤裡的程式碼,你必須把要新增的程式碼片段放置於你的 .htaccess 檔案的頂部或底部(在 #BEGIN WordPress 之前或 #END WordPress 之後)。

請注意…

.htaccess 是 WordPress 裡個性倔強的檔案,只要其中任何一個字符出錯,檔案就會出現錯誤。當錯誤發生時,它通常會影響到整個網站的運作,最重要的是你必須確保輸入 .htaccess 的程式碼沒有問題。

在開始前,備份一下你當前使用的 .htaccess 檔案吧!將它保存到你電腦裡安全的位置。如果可以,也能在雲端硬碟備份一份。

無論何時更新了你伺服器上的 .htaccess 檔案,記得回到網站重新整理一下,看看網站是不是還能正常運作。不要跳過這個步驟,因為確認網站運作正常是至關重要的一個步驟。如果你的網站給你一個白畫面,立即回復、還原 .htaccess 修改前的上個步驟。

如果你無法還原你的備份,那麼將伺服器上的 .htaccess 刪除,然後建立一個空白的 .htaccess 檔案並將它上傳。這將協助你使你的網站回復連線;當你的網站出現問題,這顯然是最重要的一步。

限制SFTP用戶只能到自己家目錄

Add the following to the end of the /etc/ssh/sshd_config file:

Subsystem sftp internal-sftp

# This section must be placed at the very end of sshd_config
Match Group sftponly
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

This means that all users in the ‘sftponly’ group will be chroot’d to their home directory, where they only will be able to run internal SFTP processes.

Now you can create the group sftponly by running the following command:

Ubuntu上的防火牆(ufw)

早期在 Linux 上設定防火牆多事透過 iptables 這隻程式在下規則,不過說真的,對於新手或是要求很基本的使用者來說,iptables 有些功能其實用不到,例如 nat, forward等等的, 而且語法有點複雜,我自己也是常常要邊翻 man page 、筆記邊操作,後來有了令一套全名叫作 Uncomplicated Firewall 的 ufw,意思就是簡單的、不複雜的防火牆,相對於 iptables 來說,ufw 是真的簡單很多了!ufw其實只是一個 iptables 的前端設定程式,最後的規則都還是會走 iptables ,而且比較複雜的功能還是要直接透過 iptables 才有辦法做到!如果想看 ufw 設定完的 iptables 結果只要用這個命令就可以看到了:iptables -L -n

今天來講一下 ufw 的基本使用方式,Ubuntu 14.04 有內建 ufw,Debian要自行安裝,透過 apt-get 就可以了:
$ sudo apt-get install ufw

接下來示範的操作都在 Ubuntu 14.04 上面進行,不同的系統可以會略有出入。