一回台中,就是惡夢的開始。事情多,生活作息也一團亂。
休息的時候,用 Gallery2 的系統弄了一個相簿來玩,不過也不知道要放什麼照片,很無趣。想要玩遊戲但也想不到什麼遊戲瓤讓我心情好一點。反正就是煩煩煩。
感覺做什麼事情都提不起勁,做算有心要做也找不到時間,到最後就是什麼事情都做不好。大學好像沒學到什麼東西,很想回去過高中生活。
軟體開發、伺服器和生活瑣事
一回台中,就是惡夢的開始。事情多,生活作息也一團亂。
休息的時候,用 Gallery2 的系統弄了一個相簿來玩,不過也不知道要放什麼照片,很無趣。想要玩遊戲但也想不到什麼遊戲瓤讓我心情好一點。反正就是煩煩煩。
感覺做什麼事情都提不起勁,做算有心要做也找不到時間,到最後就是什麼事情都做不好。大學好像沒學到什麼東西,很想回去過高中生活。
開始找可用的 PHP 編碼方式,MD5 已經不能在用了,SHA1 目前還好但是不知道以後會不會出問題。
$phrase = "Hello World";
$sha1a = base64_encode(sha1($phrase));
$sha1b = base64_encode(bin2hex(mhash(MHASH_SHA1,$phrase)));
$sha256b= base64_encode(bin2hex(mhash(MHASH_SHA256,$phrase)));
echo ("SHA1..:" . $sha1a . "n");
echo ("SHA1..:" . $sha1b . "n");
echo ("SHA256:" . $sha256b . "n");
?>
標題這樣打比較好聽,別人就不是這樣說了。
5 種不可不知的駭客工具!
http://www.isecutech.com.tw/feature/view.asp?fid=543
很多網站都會怕大家知道檔案位置以後,開始隨便散步網址給大家盜連,這樣網站的流量馬上會爆掉。另外也有可能讓駭客找到漏洞上傳 Web Shell,並且開始遙控……。
後來玩 PHPWind 論壇的時候,發現論壇可以讓上傳的檔案名稱全部改掉,在下載的時候也看不到檔案在伺服器上面的位置,所以跑去看了一下原始碼是怎麼寫的。PHPWind 檔案下載的程式是寫成 function 放在 /job.php 裡面,找到下面這行:
elseif($action=='download')
他的確是用 header() 來做檔案連結,但是不是我想像中的 header(“Location: URL”),這樣其實瀏覽器還是可以看到檔案位置,他是用 header 讓瀏覽器知道之後傳的資料為檔案內容,讓瀏覽器把資料寫成檔案,然後由伺服器先讀檔案內容以後傳給瀏覽器。所以瀏覽器從頭到尾只知道要存檔時預設的檔名、檔案類型和檔案內容,完全不知道檔案在伺服器上的位址。下面是 job.php 負責檔案下載的程式片段:
header('Last-Modified: '.gmdate('D, d M Y H:i:s',time()+31536000 ).' GMT');
header('Pragma: no-cache');
header('Content-Encoding: none');
header('Content-Disposition: '.$attachment.'; filename='.$name);
header('Content-type: '.$fileext);
if($attach_url && !file_exists("$attachdir/$attachurl") && function_exists('file_get_contents')){
$downcontent=file_get_contents($attach_url."/$attachurl");
}else{
$filesize = filesize($attachdir.'/'.$attachurl);
header('Content-Length: '.$filesize);
$downcontent=readover("$attachdir/$attachurl");
}
echo $downcontent;
exit;
稍微改了一下以後會變成下面這幾行:
header('Last-Modified: '.gmdate('D, d M Y H:i:s',time()).' GMT');
header('Pragma: no-cache');
header('Content-Encoding: none');
header('Content-Disposition: '.'attachment'.'; filename='.$file_name);
header('Content-type: '.$file_type);
header('Content-Length: '.filesize( $file_path_on_server ));
$downcontent=file_get_contents( $file_path_on_server );
echo $downcontent;
$file_nam:瀏覽器存檔時預設的檔案名稱
$file_type:檔案類型,檔案上傳時會顯示
$file_path_on_server:檔案在伺服器上真正的路徑
至於 header() 的設定細節我還沒摸清楚,header() 的資料很多,目前還沒整理出一個頭緒,弄清楚以後再來做筆記吧。
所見即得編輯器就是部落格、論壇上面,把文字反白以後按個按鈕就自動幫你加上語法或是改變文字屬性的編輯器。
目前網路上這種編輯器很多,功能也不盡相同,有些可以做到的動作很多,有些甚至還可以自己寫外掛,下面的網頁已經把網路上常看到的編輯器列出來並做了一些比較,有需要的人去看看吧。