2009年6月18日星期四

AJAX不允許以PUT方式使用越網域資源

基於保安理由,使用XmlHttpRequest不能使用其他網域的資源。

假設
您的網址是notes.antonyho.net,現在使用AJAX的XmlHttpRequest去拿antonyho.net或者其他站(例:yahoo.com)的資料,是不可行的,因XmlHttpRequest不容許這樣做。您只能用XmlHttpRequest不容許這樣做拿notes.antonyho.net的資料。

希望網站的站長使用XmlHttpRequest踫到授權問題時會想起這個限制。

這個限制並非網站的規限,而是Javascript的XmlHttpRequest不容許你這樣做。所以暫時是沒辦法解決這問題的,在下的解決方法是寫一個PHP script,放在自己的網域底下,再由這個PHP script去另一個網域拿資料,然後傳回給客戶端。做法大概是:


2009年6月10日星期三

FTP指令上載樹狀資料夾

在一台沒有GUI的Linux server上,要使用FTP指令上傳或下載樹狀的資料夾是沒有簡便的方法。從建立資料夾到上傳或下載都要一個一個的自己輸入,一堆mkdir, cd, mput *, mget *的,實在痛苦。
在網上找查了好久還是沒有實際的方法,後來找到ncftp這個工具。ncftp是個FTP client(客端),可以完全平常的FTP指令之餘,還有很多方便的指令,例如put -R <本地資料夾名>就能把一整個資料夾連樹狀的子目錄和檔案一併上傳。下載也差不多get -R <伺服器資料夾>就可以。

如果要在Ubuntu安裝ncftp,只要輸入:
sudo apt-get install ncftp

好,可以登入了!

ncftp -u my_username -p my_password mydomain.com

然後就可以把整個資料夾連子目錄和檔夾一併上載,不必一個一個來。

put -R my_folder

下載也一樣

get -R remote_folder