Thursday, March 17, 2016

讓人佩服的大學教授

有幾位大學老師真的讓我非常敬佩又尊重。
(當然我相信一定有更多的老師讓人佩服,只是沒有機會可以在網路世界接觸到)

以下列表僅單純代表個人的喜好:
1.洪朝貴老師  - 資訊人權貴ㄓ疑
2.葉丙成老師  -  丙紳隨筆
3.洪士灝老師  - 只是想寫Just feel like writing
4.陳鐘誠 老師 - 陳鍾誠的網站首頁- 陳鍾誠的網站

Thursday, January 28, 2016

PHP 解決 IE 下載中文檔名亂碼

最近在測試檔案下載,輸出中文檔名的時候。
發現IE 會變成亂碼,後來從保哥的文章找到了解決方法。

URL_ENCODE() 來解決中文亂碼問題。
For Example
$file_name=urlencode($file_name);
header("Content-Type:text/html; charset=utf-8");
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 ));
?>


Reference
ASP.NET 如何設定強制下載檔案並正確處理中文檔名的問題

Sunday, October 26, 2014

SQL Injection

相信大部分的人對這個字,已經不會感到陌生了!
早期的sql injection 是在使用者登入帳號密碼中輸入 ' or '1'='1 的方式。

那麼大家有了這一層觀念之後,會開始過濾特殊字符來防止sql injection。

然而在最近發生的案例中,我卻著實忽略了更重要的一點。

例如:
http://url /xxx.php?id=123

如果只是單單過濾單引號,那麼這將成為一個很大的漏洞

像是這樣
http://url /xxx.php?id=123%20union%20select ..........

有了這一層的了解,更讓我開始注意到,如果GET的值僅會為數字,那麼我們更應該注意只允許輸入的值。

我覺得這只是一個值得我自己好好思考的觀念。


查測工具:SQLMAP

Thursday, October 04, 2012

php取得字串長度的方法有兩種(怎麼有種斯斯有兩種的感覺阿)

首先檢查是否安裝了mbstring
確認的方法可以透過php -m | grep mbstring或是phpinfo頁面查看(mbstring)

再來我們來看看剛剛提到的兩種(strlen、mb_strlen)
 $str1 = '中文';
echo strlen($str1);
// 6
echo mb_strlen($str1);
// 6
(阿你不是說兩種,怎麼結果都一樣)
對阿,其實看到這結果時,我也大吃了一驚......

後來查了一下才知道原來要這樣寫
$str1 = '中文';
echo strlen($str1);
// 6
echo mb_strlen($str1, 'utf-8' );
// 2

這樣就正常啦!

參考來源:
[PHP] 中文字數計算strlen與mb_strlen的差異

Wednesday, November 30, 2011

VirtualBox-ose 問題紀錄

執行時出現 - 建立 VirtualBox COM 物件時失敗。
建立 VirtualBox COM 物件時失敗。
應用程式現在將終止。

被呼叫端 RC:REGDB_E_CLASSNOTREG (0x80040154)

 執行時出現 - cannot access the kernel driver!
VirtualBox - Runtime Error
Cannot access the kernel driver!
Make sure the kernel module has been loaded successfully.
找到VBoxDrv.inf,點選右鍵安裝即可!

Wednesday, March 02, 2011

取得新增資料的id

使用 mysql_insert_id()

$id=mysql_insert_id();

資料來源:

http://nknuahuang.wordpress.com/2009/04/20/%E5%8F%96%E5%BE%97%E6%96%B0%E5%A2%9E%E8%B3%87%E6%96%99%E7%9A%84id/

Sunday, September 19, 2010

radio 控制div顯示隱藏屬性

<div id="history" style="visibility: visible;">
</div>
<input name="YearPrice" value="h" onclick="document.getElementById('history').style.visibility='hidden'" type="radio">