2017/3/21

老實說,我越來越不喜歡看 Britain's Got Talent (英國達人)

倒不是他的表演不好看

事實上有很多頗經典的

會產生反感就是為不想看到 Simon

不過這個表演,我雖然看過很多次,

但還是回味無窮

2017/3/19

利用 NO-IP 來為浮動IP申辦免費的 domain name,在家架站不是夢想

1. 先介紹甚麼是 DNS

 Domain Name System ( DNS) 領域名稱系統
 在網際網路的世界中,不管是要使用 web 、ftp ... 等服務
 要對主機端去取得服務,實際上都是透過 ip 來運作
 IP 是一組不好記的數字來組成,如 192.168.0.121
 除非是專業的人員,否則這一組數字並不好記

 因此便發展出 Domain Name 來為每一個主機的 IP 建立起一個對應的名稱
 例如 : 輸入 http://23.53.72.229 可以到 IBM 的網頁去
     但輸入 http://www.ibm.com 一樣可以到達
 不過很明顯的前者用 IP 來輸入很困難,誰會記的呀,當然是用 www.ibm.com 既好記又直覺方便

 而 DNS 的作用就是負責把 這組 IP 和 申請到的 domain name 結合在一起
 有了DNS ,輸入方便好記的 domain name 以後,DNS 便會將之轉換成相匹配的 IP 來運作


2. 由此可知,一般要架站都得要有一或一個以上的固定IP 才能和聲請到的 domain name 去做配對
 但是我們一般人在家裡所申請的網路,多數都是浮動IP
 照理來說,這將無法去和 domain name 做對應的
 而 NO-IP 便是要為這一個廣大的苦命族群來提供服務的


3. no-ip 的官方網站 http://www.no-ip.com/


4. 首先得申請一組您需要的 domain name
 輸入你想好的 domain name , 再挑選幾組免費的域名,點選 sign up


5. 輸入您的 e-mail、username 及密碼,然後點選 Create My Free Account ,申請一組免費的帳號。


6. 請回到您的信箱去點選 No-IP Notices 所寄發的一封主旨為 "Confirm Your No-IP Account" 的信件
 直接點選信件內的 "Confirm Account" 完成認證


7. 認證完成後,會切換到另一個完成頁面,請點選上方的 download 鈕


8. 跳轉到下載頁後,該網站會自動偵測你的作業平台,自動顯示符合作業系統的下載點
 請點選 Download Now 開始進行下載


9. 下載完成後,請執行剛下載來的 DUCSetup_v4_1_1.exe


10. 安裝完成後,請輸入您剛剛申請的帳號和密碼,並點選 Sign In


11. 勾選所設立的 domain name 並勾選 Require a password to modify hosts


12. 當看到三個項目都以打勾,其中第三項便是主機目前的 IP ,這便是設定完成
 以後只要輸入,如本例中的 feijer.ddns.net 便可連上你的電腦
 往後電腦更換成另一組浮動IP ,透過常駐在地腦內的程式,他會自動到 no-ip 主機去自動更新這對應
 以後便可自動找到正確的IP


13. 但是家裡的電腦是透過分享器來連上網路的話,這樣還沒有完
 因若您直接在瀏覽器上輸入剛申請到的 domain name ,對象將會到家裡的分享器


14. 這並不是我們想要的,因此得從內部去設定這台 分享器
 在此以我家的 D-LINK DIR-601L 來介紹

 DIR-605L 可以被設定為一台虛擬伺服器,當遠端使用者透過 WAN 端 IP 位址存取 Web 伺服器時,
 會自動被導到內部 LAN 端的伺服器,DIR-605L會依據外部需求的服務,適當地導向內部 LAN 端的伺服器。

 他所依據的是 port number , 而一般 http 服務的 port number 是 80 port 。

 以下便是這方面的設定。


15. 首先是主機在分享器內部,也不能靠分享器的 DHCP 來分配IP, 需固定住一個內部IP


16. 在 windows 的桌面上,找到 "網路"


17. 點選滑鼠的右鍵


18. 點選您連上網路的方式


19. 請再點選 "內容"


20. 點選 "網際網路通訊協定地 4 版 ( TCP/IPv4 )",然後點選 "內容(R)"


21. 請依下圖範例來設定,其中 IP 位址必須避開 DHCP 分配的IP 範圍
 設定好以後,請點選 "確定"


22.然後一路確定回去,並把電腦的網路設定關閉。


23. 請先到分享器的設定頁面,並輸入密碼,然後登入


24. 點選 "進階設定"


25. 點選上方的 "進階設定"


26. 到 "進階通訊埠轉傳規則" 進行如下的設定


27. 別忘了點選 "儲存設定" ,然後讓分享器重新開機便可以了


28. 實際在 firefox 上測試,輸入剛剛建立的 domain name => http://feijer.ddns.net 將出現如下我自設的首頁,任務達成!


2017/3/18

利用 php 取得 client 端的 MAC Address

覺得自己想的太過簡單了
發現透過 web 想來抓取 client 端的 MAC ADDRESS
畢竟這也算是較機密的資料, 若能讓網頁隨便就抓走,那會形成安全上的大漏洞


不過也不是沒辦法,只不過是限制重重
實用性其實不算太高


他的限制:
  1. 主機必須是在 windows 的平台
  2. client 端要和主機要在同一個網段內才有用


以下便是我的程式碼



用手機連上來測試的結果如下



在windows底下用cmd命令開啟網頁(讀取HTML內容)

在這兒將使用 curl 來讀取網頁的內容,只過 windows 並沒有此命令可以使用,所以得到 curl 的網站去抓取此程式

1. 到官網 http://curl.haxx.se/download.html


2. 捲動到最後面去,找到 Win64 - Generic 這一個方塊


3. 點選 Win64 x86_64 8zip   7.53.1 這一項


4. 在 curl 7.53.1 for Windows 下載頁中,請找到 Downloads 的地方,再依 Windows 版本下載適合的程式


5. 下載完成後,先到 D:\ 建立新的目錄 curl => D:\curl


6. 然後執行解壓縮,將內容存放到 D:\curl 裡面 , 主要是一個執行檔 curl.exe


7. 開啟命令執行程式 cmd, ( 開始/程式集 => W => Windows 系統 => 命令提示字元 )


8. 執行 D:\curl\curl 網址 ,例如 d:\curl\curl http://myid.com.tw/ 便會得到以下畫面


2017/3/17

如何讓 php 取得主機端的 MAC ADDRESS ( win10 )

要取得 使用者端的 MAC ADDRESS ( client 端 ) 作法很多
不過想去得主機端的 MAC ADDRESS 便有很多障礙
以下是小弟試出來的一點作法
目前是可行,但有點笨就是了
若有高手有更好的做法,
還請指教一番...

ob_start();
system('ipconfig /all');
$mycomsys=ob_get_contents();
ob_clean();

$find_mac = "}";
$pmac = strpos($mycomsys, $find_mac);
$macaddress=substr($mycomsys,($pmac+29),17);
echo $macaddress;