ใช้ PHP extract ไฟล์ zip ผ่านเว็บ

เริ่มโดย au8ust, 11 ธันวาคม 2007, 20:23:15

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

au8ust

พอดีใช้ Host ไทยมันไม่มี cPanel ที่มี File Manager ซึ่งสามารถ Extract Zip ได้ เลยอยากถามดูว่ามีวิธีเขียน PHP ยังไงให้มันแตกไฟล์ Zip ได้อ่ะครับ เคยเขียนลวก ๆ อันนึงมันแตกได้แต่ใช้้ไม่ได้ เข้าใจว่าไม่ได้เซ็ต Permission อะไรสักอย่าง  :P

ขอบคุณครับ

เรารักนายนะน้องฟี่

<?

function unzip($zip_file, $src_dir, $extract_dir)
{
copy($src_dir.$zip_file, $extract_dir.$zip_file);
chdir($extract_dir);
shell_exec("unzip $zip_file");
}


if(unzip('Zipname.zip','./','./')){

  echo($zip_file .'unpacked successfully');

}else{

  echo($zip_file .'was not unpacked');

}



?>

ผมใช้อันนีอ่ะ

Dr.K

ถ้า host set safe mode = on ก้อใช้ unzip หรือ shell ไม่ได้ทุกกรณี
[direct=https://www.thaihealth.net/blog/seo_doctor/]seo blog[/direct]|[direct=https://netplushost.com]netplushost[/direct]
[direct=https://pattayawebmarketing.com/pattaya-seo]pattaya seo[/direct]
[direct=https://dochost.net]seo hosting[/direct]

แบบนี้ไม่ต้องสืบ

ใช้ net2ftp.com หรือ สคริปของเค้าก็ได้คับ ง่ายดี

ball6847

#4
ผมใช้ class (PEAR) เอาง่ะ แต่จำชื่อไม่ได้แระ ไม่ได้ใช้นาน  :P

ลองดูจากนี่แล้วเลือกดูเอาละกันคับ
http://pear.php.net/search.php?q=archive&in=packages&x=0&y=0
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

icez

[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

au8ust

ขอบคุณทุก ๆ ท่านมากครับ ^o^

แล้วพวก tar, bzip อ่ะ ใช้แบบเดียวกันได้หรือเปล่า?

ball6847

อ้างถึงจาก: au8ust ใน 11 ธันวาคม 2007, 22:33:04
ขอบคุณทุก ๆ ท่านมากครับ ^o^

แล้วพวก tar, bzip อ่ะ ใช้แบบเดียวกันได้หรือเปล่า?

   1. Archive_Tar: Tar file management class
   2. Archive_Zip: Zip file archiving management class
   3. File_Archive: File_Archive will let you manipulate easily the tar, gz, tgz, bz2, tbz, zip, ar (or deb) files
   4. PHP_Archive: Create and Use PHP Archive files

=====

จากลิ้งค์ที่ผมให้มานั่นแหละ  :P :P
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

เรารักนายนะน้องฟี่

untar

<?
set_time_limit(0);
shell_exec("tar xvf test.tar");
echo "Untar Done";
?>


อันนี้เหมาะสำหรับโฮสห่วยๆ ช้าๆ เช่นเนทเฟิร์ม  ใช้ 7zip บีบไฟล์ แต่ไฟล์จะไม่ลดขนาดซักเท่าไร  :P

unzip

<?

function unzip($zip_file, $src_dir, $extract_dir)
{
copy($src_dir.$zip_file, $extract_dir.$zip_file);
chdir($extract_dir);
shell_exec("unzip $zip_file");
}


if(unzip('Zipname.zip','./','./')){

  echo($zip_file .'unpacked successfully');

}else{

  echo($zip_file .'was not unpacked');

}



?>


สคิปนี้ผมใช้กับโฮสการ์เตอร์ได้ไม่มีปัญหา เมื่อวานก็ใช้อยู่ ว่าแต่ การ์เตอร์ก็ unzip ใน filemanager ได้นะครับ  :P


au8ust

#9
ขอบคุณอีกครั้งครับ ซาบซึ้งใจข้าพเ้จ้ายิ่งนัก   :'(

ป.ล. ใช้ AppServHosting อ่ะนะ เป็น panel ของ VHCS2 ไม่มี File Manager หรู ๆ เหมือน cPanel  :P


edit: อ่า... ไปลองมาแล้ว ไม่ได้ผลสักวิธีเลย ทาง Host เค้า disable exec, disable อะไรต่าง ๆ ที่ทำให้ unzip ไม่ได้

คงต้อง upload file by file ตามเดิม จบ LOL

เล่าให้ฟังนิดหน่อย ตอนผมเช่า Host ที่นั่นแรก ๆ ผม unzip ไม่ได้ เลยให้เจ้าของ Host unzip ให้ พอหลัง ๆ เค้าไม่ว่าง เลยต้องอัพโหลดทีละไฟล์ พวก webboard มันมีไฟล์เป็นพัน ๆ ไฟล์ ทีนี้ผมใช้ multiple connections มันเลยสร้าง connection ขึ้นมาจำนวนนึง กำหนดไว้สัก 4 หรือ 8 มั้ง จำไม่ค่อยได้ สามเืดือนแล้ว ลืม ๆ จากนั้นไม่รู้มันเป็นอะไร มันก็ต่อ ๆ ติด ๆ ได้มั่งไม่ได้มั่ง หลัง ๆ ไปก็ค้าง ผมก็งงว่าทำไม ก็ปล่อยไป สักพัก เจ้าของ Host ทักมา บอกให้หยุดยิงเดี๋ยวนี้ ก็ตกใจ อะไรล่ะหว่า งง คุยไปมา เค้าเข้าใจว่าผมไปยิง FTP เค้า ผมก็ capture หน้าจอไปให้ดู ให้ดู settings ใน FileZilla ด้วยเอ้า lol คุยกันอยู่สักพักก็เข้าใจ เกือบโดนเตะออก Host กรรมจริง ๆ -_-a

gootum

เสริมเรื่อง hack นิดครับ   ถ้าเปิด php    safe mode = on นั้นช่วยป้องกันได้ครับทางนึงซึ่งจะไม่สามารถแตกไฟล์ได้ แล้วจะมีผลให้ใช้งานก่ะสคริปอีกหลายตัวไม่ได้ด้วย เช่น gallery เป็นต้น

EThaiZone


pugkung

แล้วพวก mambo ละครับไม่ทราบว่า เค้าเขียนแบบไหนเหรอครับ เวลาที่ extract template อ่ะครับ

Dr.K

สงสัยพวกเรายังไม่เคยเจอแฮคของจริงละม้าง
เปิด safe mode
เนี่ยยิงโป้งเดียว
แตก zip ใน share memory เปิด backdoor ใน tmp
แล้วอัด root kit
โดนหมดทั้ง server เลย
เด๋วจะหาว่าหล่อไม่เตือน
(มีสูตรทำด้วย อิอิ)
[direct=https://www.thaihealth.net/blog/seo_doctor/]seo blog[/direct]|[direct=https://netplushost.com]netplushost[/direct]
[direct=https://pattayawebmarketing.com/pattaya-seo]pattaya seo[/direct]
[direct=https://dochost.net]seo hosting[/direct]

pugkung

งั้นพวก host ที่เปิดให้ใช้ mambo หรือ cms ที่มีการ เพิ่ม module ที่เป็นไฟล์ zip โดยการเขียน สคริป สำหรับ extract ไว้ก็ อันตรายหมดดิ่ครับ แบบนี้  ???

ไม่ทราบว่าผมเข้าใจถูกป่าวครับ

Dr.K

อ้างถึงจาก: pugkung ใน 12 ธันวาคม 2007, 11:36:43
งั้นพวก host ที่เปิดให้ใช้ mambo หรือ cms ที่มีการ เพิ่ม module ที่เป็นไฟล์ zip โดยการเขียน สคริป สำหรับ extract ไว้ก็ อันตรายหมดดิ่ครับ แบบนี้  ???

ไม่ทราบว่าผมเข้าใจถูกป่าวครับ
ครับ ล่าสุดก้อ mambo ของหลายๆที่ของไทย
แต่มีวิธีกันอยู่นะ
พวกนี้ จุดเริ่มของมัน คือ จุดอ่อนของสคริปต์ ที่เห็นประคือ union ,sql injection หรือ การกรองคำไม่ดีครับ
ตัดตรงจุดนี้ได้ ก็ยากขึ้นมามากมายแล้วครับ
ดังนั้น การติดตามข่าว patch ใหม่ๆ ของ joomla ,mambo คือสิ่งสำคัญมากพอกับการทำเว็บเลย
หรือถ้าจะเปิด safe mode แนะนำให้ปรับ security ของจุดอื่น เช่น การป้องกันการแตก zip ใน user อื่นๆ ,การป้องกัน การรันเชลล์และสคริปต์ใน tmp file ,disable ฟังก์ชั่นอื่นๆของ shell ที่ต้องเขียนเอาไว้ใน php.ini หรือแม้แต่การ chroot ที่ apache  ก็ป้องกันได้บางส่วนครับ แต่ไม่ทั้งหมด
[direct=https://www.thaihealth.net/blog/seo_doctor/]seo blog[/direct]|[direct=https://netplushost.com]netplushost[/direct]
[direct=https://pattayawebmarketing.com/pattaya-seo]pattaya seo[/direct]
[direct=https://dochost.net]seo hosting[/direct]

Dr.K

ถ้าจะเปิดการใช้ shell แนะนำให้รัน apache 2 process ครับ
ตัวที่จะเปิดให้รันที่ port 81 แล้วใช้ proxies เอา
[direct=https://www.thaihealth.net/blog/seo_doctor/]seo blog[/direct]|[direct=https://netplushost.com]netplushost[/direct]
[direct=https://pattayawebmarketing.com/pattaya-seo]pattaya seo[/direct]
[direct=https://dochost.net]seo hosting[/direct]

EThaiZone

อ่า อยากไปสมัครขอเป็นลูกศิษย์จัง  :-*

au8ust


ball6847

เป้นหมอ ที่ไม่เหมือนหมอทำมะดาจริงๆ สุดยอดมากๆ

หมออะไรเนี่ย network ,security ,server , php, seo

ตกลงเรียนอะไรมากันคับเนี่ย เป็นหมอยุค IT ที่ไม่ธรรมดาจริงๆคับ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]