พอดีใช้ 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');
}
?>
ผมใช้อันนีอ่ะ
ถ้า host set safe mode = on ก้อใช้ unzip หรือ shell ไม่ได้ทุกกรณี
ใช้ net2ftp.com หรือ สคริปของเค้าก็ได้คับ ง่ายดี
ผมใช้ class (PEAR) เอาง่ะ แต่จำชื่อไม่ได้แระ ไม่ได้ใช้นาน :P
ลองดูจากนี่แล้วเลือกดูเอาละกันคับ
http://pear.php.net/search.php?q=archive&in=packages&x=0&y=0
http://th.php.net/zip
http://www.narudom.com/wordpress/?p=6
ลองดูนะครับ
ขอบคุณทุก ๆ ท่านมากครับ ^o^
แล้วพวก tar, bzip อ่ะ ใช้แบบเดียวกันได้หรือเปล่า?
อ้างถึงจาก: 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
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
ขอบคุณอีกครั้งครับ ซาบซึ้งใจข้าพเ้จ้ายิ่งนัก :'(
ป.ล. ใช้ 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
เสริมเรื่อง hack นิดครับ ถ้าเปิด php safe mode = on นั้นช่วยป้องกันได้ครับทางนึงซึ่งจะไม่สามารถแตกไฟล์ได้ แล้วจะมีผลให้ใช้งานก่ะสคริปอีกหลายตัวไม่ได้ด้วย เช่น gallery เป็นต้น
http://www.phpclasses.org/browse/package/2495.html
::)
แล้วพวก mambo ละครับไม่ทราบว่า เค้าเขียนแบบไหนเหรอครับ เวลาที่ extract template อ่ะครับ
สงสัยพวกเรายังไม่เคยเจอแฮคของจริงละม้าง
เปิด safe mode
เนี่ยยิงโป้งเดียว
แตก zip ใน share memory เปิด backdoor ใน tmp
แล้วอัด root kit
โดนหมดทั้ง server เลย
เด๋วจะหาว่าหล่อไม่เตือน
(มีสูตรทำด้วย อิอิ)
งั้นพวก host ที่เปิดให้ใช้ mambo หรือ cms ที่มีการ เพิ่ม module ที่เป็นไฟล์ zip โดยการเขียน สคริป สำหรับ extract ไว้ก็ อันตรายหมดดิ่ครับ แบบนี้ ???
ไม่ทราบว่าผมเข้าใจถูกป่าวครับ
อ้างถึงจาก: 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 ก็ป้องกันได้บางส่วนครับ แต่ไม่ทั้งหมด
ถ้าจะเปิดการใช้ shell แนะนำให้รัน apache 2 process ครับ
ตัวที่จะเปิดให้รันที่ port 81 แล้วใช้ proxies เอา
อ่า อยากไปสมัครขอเป็นลูกศิษย์จัง :-*
เป้นหมอ ที่ไม่เหมือนหมอทำมะดาจริงๆ สุดยอดมากๆ
หมออะไรเนี่ย network ,security ,server , php, seo
ตกลงเรียนอะไรมากันคับเนี่ย เป็นหมอยุค IT ที่ไม่ธรรมดาจริงๆคับ