C/C++ 簡易檔案下載
參考資料 http://www.eyny.com/thread-6095660-1-1.html
http://codepad.org/hJ0fFsA0
還有一個方法是 去下載使用 wget 透過 system() 的方式呼叫下載
#include <cstdio> #include <tchar.h> #include <urlmon.h> #include <iostream> #pragma comment(lib, "urlmon.lib") #pragma comment(lib, "ws2_32.lib") using namespace std; int main() { cout << "downloading picture..."; HRESULT hr = URLDownloadToFile ( NULL, _T("http://l.yimg.com/o/xp/cna/20110321/10/1042421579.jpg"), _T("00001.jpg"), 0, NULL ); cout << "Done!" << endl; return 0; }
相似度和距離的計算
這篇單純貼連結方便我看
http://zh.wikipedia.org/wiki/余弦相似性
http://blog.csdn.net/zy825316/article/details/19129531
http://www.cnblogs.com/shipengzhi/articles/2540382.html
兩個三角型的相似度計算
1.計算出所有角度
2.每個角度差在算cos後取平均
C/C++ 排序快速寫法(quick sort) 同場加映binary search
今天在看維機百科時才發現的…..
這應該算是最佳解了 時間複雜度和merge sort相同,需要的buffer 更少
參考資料:http://www.cplusplus.com/reference/cstdlib/
首先
#include <stdlib.h>
再來要寫 比大小的function
static int cmp(const void *a, const void *b)
{
float t=*(float *)a – *(float *)b>0
if(t>0) return 1;
else if(t==0) return 0;
else return -1;
// return *(int *)a – *(int *)b;
}
基本上input 和output 都規定好了 ,就是看你要怎麼比,上面有float 和int 版本,只要 >0 代表大於,=0 代表相同,<0代表小於 就可以了
最後使用
float arr[10]={5.2, 3.1, 7.7, 4.5, 1.2, 9.9, 9.9, 6.6, 2.2,10.1};
qsort(arr, 10, sizeof(float), cmp); //第一個參數放array 第二個放 有n個數 第三個是 每個數的大小 第四個就是比較的function
這樣 arr 就會自動排序了
WP-SUPER-cache 不能亂設定阿
MYSQL 密碼加密(透過PHP)
最近我的第一個自製PHP網站 被攻打下來了阿….
雖然不太清楚原因
所以最近找了個方法 把MYSQL 中所有的密碼通通加密了,這樣應該會安全些
參考資料
http://www.hkcode.com/programming/242
http://result945.pixnet.net/blog/post/27077947-mysql-密碼使用md5加密
加密方法是 透過 md5() 這個語法來完成,剛剛測試,上面兩種方法加密結果是相同的
我使用的方法是
在密碼 $passwd 放入SQL 之前 寫下
$passwd=md5($passwd);
如果 資料庫原先是明碼存的,可以透過 update `XXX` SET `passwd`=md5(passwd) where 1 來解決
不過在轉碼之前請先備份,還有確保密碼長度 超過32字元
notepad++ 搜尋/取代 使用正規表示式
請勿使用AppServ
前陣子看到一篇 台大關於AppServ的安全通報,建議大家 不要在使用AppServ來架設網站
AppServ 應該算是一套 XAMP 的整合包,但是因為久沒更新 被發現許多漏洞沒有補上
參考網址:http://www.cc.ntu.edu.tw/chinese/epaper/0026/20130920_2607.html
底下直接引用他們的文章
網站管理者不可不知:AppServ套件成為駭客入侵後門
作者:李美雯 / 計算機及資訊網路中心網路組程式設計師
使用AppServ可以在Windows作業系統中輕鬆安裝與架設網站伺服器,AppServ包含Apache、PHP、Mysql與 phpMyAdmin等網站環境元件,深受一般人的歡迎。因為AppServ已經5年未更新,駭客利用其phpMyAdmin的漏洞植入木馬後門程式,因 而觸發多起資安事件。本中心特此深入分析AppServ套件漏洞與木馬後門的運作原理,以提供網站管理者有效解決方案。
前言
102年6月份,計資中心接獲本校45台主機Sdbot資安事件,這45台異常主機非常特別,同時觸發內對外的IRC異常連線及外對內的Sdbot異常連 線。雖然在通報後主機管理者有處理異常主機,但有些主機卻因處理不完善,而再次觸發同樣的資安事件。透過網路流量分析系統也發現遭通報的異常主機對外發出 大量的UDP Flooding攻擊。為了確實回復異常主機以有效阻止異常主機對外攻擊,我們決定深入分析Sdbot木馬程式的運作原理,提供本校網站管理者最佳解決方 案。
AppServ漏洞與Sdbot運作原理
在隨機分析3台被通報為異常主機的網路封包後,我們發現這些異常主機的phpMyAdmin頁面存在著被外部主機存取的紀錄,初步得知這些異常主機的問題 與phpMyAdmin有關。而phpMyAdmin可讓管理者透過Web介面管理後端Mysql資料庫,提供資料庫之匯出、匯入、刪除與修改等功能,使 用該套件可增加管理後台資料庫的便利性。至於為何以及如何被惡意程式操控,則需要更進一步的分析。
經過向被通報的異常主機管理者查詢後確認這些主機都有一個共通性,均安裝了AppServ 2.5.10套件。AppServ套件在安裝時自動幫使用者將Apache、PHP、Mysql與PhpMyAdmin四個套件安裝並設定好,就因為這樣的方便性,許多學生架設網站時喜好採用這個整合套件,圖一為安裝好AppServ後的預設首頁。
從code.google轉sourceforge.net
今天我在更新我的小說下載器時…..
幹 code.google 不給上傳了,找了半天原因終於找到一篇公告
大意是…..有人亂用此功能所以 google 將停止這個功能,不會刪檔,但是不給上傳新的….
好吧,我就跳了,因為google 建議使用的google drive 沒有下載統計阿….
以下是 可以自動匯入轉換的連結
https://sourceforge.net/p/forge/documentation/Google%20Code%20Importer/
首先要註冊sourceforge.net
恩 我註冊時沒收到認證信,只好開IRC 找客服….
喔 在專案中的 admin 有import 可以讓你輕鬆匯入 很方便的
還有 sourceforge 很多功能似乎都是背景作業,所以 匯入按下去後 要等…
tar 壓縮/解壓縮指令
參考資料:http://www.vixual.net/blog/archives/127
常用參數
- -c 打包一個 tar 檔案
- -x 解開一個 tar 檔案
- -t 檢視 tar 檔案的內容
- -z 使用 gzip 壓縮
- -v 顯示建立 tar 檔案的過程
- -P 使用絕對路徑
- -f 指定 tar 檔案的檔案名稱 (此參數的後面必須接目標檔名)
常用語法
- 建立壓縮檔
tar -czvf 檔案名稱.tgz 來源檔案
將 來源檔案 壓縮後,打包成一個名稱為 檔案名稱.tgz 的壓縮檔,來源檔案 可以是檔案或目錄。
來源檔案 也可以有很多個,以空白字元分隔:tar -czvf 檔案名稱.tgz 來源檔案1 來源檔案2 ... 來源檔案n
- 檢視壓縮檔的內容
tar -tzvf 檔案名稱.tgz
- 解開壓縮檔的檔案到目前的目錄
tar -xzvf 檔案名稱.tgz
- 複製目錄
tar -cvf - 來源目錄 | tar -xvf -