Mark ChangMark Chang


是不是被資安的問題搞得很煩?

我想,在建置系統的過程中,或多或少都會遇到資安的問題....

除非你是秉持著歡迎大家進來坐坐,想喝茶得自己來,泡咖啡的就在旁邊,然後吃不完可以順便帶走。

又或者,您的客人是一位很有禮貌的人,三不五時來拜訪您還給您帶來了禮物.....

但您希望說人來就好不用特別帶禮物來了。

又或者,如果您會想說真的想帶禮物,那麼幫我帶杯咖啡好了~

所以,該怎麼做?

設定黑名單
 $BlackList = array('asp','php','jsp','php5','asa','aspx');//黑名單列表
if (isset($_POST["submit"])){
$name = $_FILES['file']['name']; //接收上傳的檔案檔名
echo $name;
$extension = substr(strrchr($name,"."),1);//以副檔名判斷檔案類別
$boo = false;

foreach ($BlackList as $key=>$value){
if ($value==$extension){//判斷是否為自訂的黑名單
$boo=true;
break;//如果是黑名單直接退出
}
}
if(!$boo){//如果不是黑名單就進行上傳檔案
$size=$_FILES['file']['size'];//檔案大小
if($size>5242880){//檔案不能超過5MB
echo "您想上傳檔案不能超過5MB";
exit();
}
$tmp=$_FILES['upfile']['tmp_name'];//暫存位置
$uploadfile = $datum."_".$flag.".".$extension;//重新命名檔案
move_uploaded_file($tmp,"../uploadfile/".$uploadfile); //搬移到指定路徑
}else {
echo "您想上傳檔案無法允許被上傳";
}

}

設定白名單
$WhiteList = array('pdf','jpg','png','bmp','gif','jpg','doc');//白名單列表
if (isset($_POST["submit"])){
$name = $_FILES['file']['name']; //接收上傳的檔案檔名
$extension = substr(strrchr($name,"."),1);//以副檔名判斷檔案類別
$boo = false;

foreach ($WhiteList as $key=>$value){
if ($value==$extension){//判斷是否為自訂的白名單
$boo=true;
}
}
if($boo){//如果是白名單則開始執行
$size=$_FILES['file']['size'];//檔案大小
if($size>5242880){//檔案不能超過5MB
echo "您想上傳檔案不能超過5MB";
exit();
}
$tmp=$_FILES['upfile']['tmp_name'];//暫存位置
$uploadfile = $datum."_".$flag.".".$extension;//重新命名檔案
move_uploaded_file($tmp,"../uploadfile/".$uploadfile); //搬移到指定路徑
}else {
echo "您想上傳檔案無法允許被上傳";
}
}

MIME
if ($_FILE['file']['type']=="image/jpeg"){//判斷是否為jpg格式
$imageTempName=$_FILES['file']['tmp_name'];
$imageName=$_FILES['file']['name'];
$last = substr($imageName,strrpos($imageName,"."));
if(!is_dir("uploadFile"))
mkdir("uploadFile");
}
$imageName=md5($imageName).$last;
move_uploaded_file($imageTempName,"./uploadFile".$imageName);//指搬移到指定路徑
echo ("檔案上傳成功");
}
else{
echo ("您想上傳檔案無法允許被上傳");
exit();
}

我想,雖然禮多人不怪,但還是加把鎖,必竟我們現在談的是資安。

作者簡介

Mark Chang

離不開電腦的宅男

訪客留言

留下一些足跡證明你來拜訪過我

推薦閱讀

作者其他相關類別故事

使用javascript獲取ckeditor textarea的textarea值

使用javascript獲取ckeditor textarea的textarea值

一般來說,若我想使用 javascript 來得到 textarea 的值。 可以使用...

mysql 查詢數據資料是否有重複

mysql 查詢數據資料是否有重複

pexelsphoto 有沒有試過資料庫裡上萬筆資料卻不知道是不是有重複的數據? 這時...

javascript獲取當前時間

javascript獲取當前時間

watchclock var myDate = new Date(); //獲取當前年...

請選擇選項

執行錯誤

Hi,謝謝你的參與,但無法重複投票哦~