วันพฤหัสบดีที่ 5 เมษายน พ.ศ. 2561

ใช้ .htaccess ป้องกันไม่ให้ PHP ทำงานในบาง directory

เจอ hack เว็บไซต์มาครับ หาวิธีป้องกันหลายแบบมาก แต่ก็ยังโดนเข้ามาวางไฟล์ได้อยู่ดี

วิธีการแก้ไขล่าสุดเลยหาวิธีป้องกันไม่ให้ไฟล์ PHP ทำงานได้ เพราะเดาว่ามี script ในการอัปโหลดไฟล์ ที่ยอมให้อัปโหลดไฟล์ PHP แล้วก็ทำให้มันทำงานได้ด้วย

วิธีแก้คือ
สร้างไฟล์ .htaccess ขึ้นมา
แล้วก็เอา code แบบนี้ไปใส่ไว้ครับ

php_flag engine off

มันจะทำให้ไฟล์ PHP ที่อยู่ใน directory เดียวกับไฟล์ .htaccess ตัวนี้ มันจะแสดงเป็นเหมือน text file ธรรมดาเลยครับ

วันพฤหัสบดีที่ 8 กุมภาพันธ์ พ.ศ. 2561

วิธีแก้ iOS Safari Javascript New Date แล้วมีค่าเป็น NaN

วันนี้เจอปัญหาที่แปลกประหลาดของ iOS Safari ที่ไม่สามารถ new Date() ออกมาได้ มันกลายเป็นค่า NaN (Not a number) ซะอย่างงั้น

ลองค้นดูก็เจอว่ามันเป็นเฉพาะ iOS Safari จริงๆ เจอวิธีแก้อยู่หลายอัน บางคนก็บอกให้ไปใช้ DateJS ช่วยเอาเลย แต่มันก็ดูยุ่งยากไปหน่อย

เลยลองหาดูมีวิธีแก้ง่ายๆ อยู่เหมือนกัน จากเว็บนี้
https://coderwall.com/p/gvwb9g/fix-invalid-date-on-safari-ie

//  Safari & IE browsers do not support the date format “yyyy-mm-dd”
const fixDateForAllBrowsers = dateString => dateString.replace(/-/g, '/');
ก็เออแก้ได้จริงๆ ด้วยนะ คือเจ้า iOS Safari มันไม่ยอมให้เราใช้การ New Date เป็น YYYY-MM-DD เท่านั้นแหละ ถ้าเปลี่ยนเป็น YYYY/MM/DD มันก็จะใช้ได้ละ

วันศุกร์ที่ 27 ตุลาคม พ.ศ. 2560

PHP เช็คว่าตอนนี้ก่อนหรือหลังวันที่ตั้งไว้

มีต้องขึ้น Popup ให้ลูกค้าในช่วงเวลานึง เลยลองหา solution ที่จะมาช่วยเช็คว่ามันควรจะแสดงหรือเปล่า ก็เลยไปเจอ code PHP ที่ช่วยเช็คเรื่องเวลาให้

if( strtotime("2017-10-26") > strtotime('now') ) {
   // ถ้าตอนนี้เกินวันที่ 26 ตุลาคม 2560 แล้วให้ทำ
  doSomething();
}

วันพฤหัสบดีที่ 12 ตุลาคม พ.ศ. 2560

เปลี่ยนชื่อ domain ใน Plesk ได้ง่ายๆ อย่างงี้เลย

วันนี้มีเหตุการณ์ที่ลูกค้าจะต้องเปลี่ยน domain จากของเดิมมาเป็นอีกอัน ทีแรกคิดว่าคงต้องใช้วิธีสร้าง domain ขึ้นมาอีกอันแล้วก็ชี้มาที่อันเก่า แต่พอค้นดูใน google ก็เลยเจอว่ามันมีวิธีง่ายๆ เลย
http://www.3essentials.com/how-to-rename-a-domain-in-plesk-12/

แค่เข้าไปแก้ชื่อ domain ของเดิมซะ แล้วก็ชี้ domain อันใหม่มาที่เดิมให้เรียบร้อย พอ DNS อัปเดต ทุกอย่างก็เรียบร้อย เข้าเว็บเดิมได้ด้วย domain อันใหม่เลย!

แต่ก็อย่าลืมชี้ domain อันเก่ามาที่ domain อันใหม่ด้วยนะ

วันจันทร์ที่ 17 กรกฎาคม พ.ศ. 2560

แปลบาง field ของ ACF ด้วย qTranslate

มีปัญหาที่ต้องหาทางแก้ไข คือมีงานนึงที่เราจำเป็นต้องเพิ่ม field หนึ่งอันด้วย ACF (Advanced Custom Fields) แต่ถ้าเราเพิ่มลงไปเฉยๆ เว็บที่เราใช้ qTranslate ในการแปลเนื้อหาของเว็บมันจะไม่สามารถแปล field พวกนี้ได้

เคยเจอ plugin ที่ช่วยให้ใช้ ACF + qTranlate อยู่เหมือนกัน แต่เราไม่อยากใช้ เพราะต้องการแปลแค่ field อันเดียวเท่านั้น

จนไปเจอเข้ากับเว็บนี้ http://www.zighead.com/2016/08/advanced-custom-fields-qtranslate-x/ ที่มาบอกว่ามันมีวิธีที่ทำให้เราสามารถแปล field ของ ACF ด้วยรูปแบบของ qTranlate ได้ด้วยนะ ก็เลยลองทำตามดูเลย แล้วก็พบว่ามันเวิร์คจริง!

สุดยอดไปเลย นอนตาหลับละวันนี้ :D

วันศุกร์ที่ 2 มิถุนายน พ.ศ. 2560

ลดขนาดไฟล์ PDF ด้วย Preview ใน Mac

มีเหตุให้ต้องลดขนาดไฟล์ PDF ที่ขนาดที่ Save จาก Illustrator ได้มา 3.1MB ซึ่งในไฟล์ก็ดูไม่ได้มีอะไรใหญ่ ยกเว้นรูปรูปนึง

เลยไปหาวิธีว่าจะใช้โปรแกรมไหนได้บ้างที่จะช่วยลดขนาดไฟล์ PDF ลงได้ ก็เลยเจอว่าเจ้า Preview ที่ใช้เปิด PDF บน Mac นี่แหละที่ทำได้

วิธีก็คือ

  1. เปิดไฟล์ PDF ขึ้นมาด้วย Preview
  2. เลือก Export 
  3. เลือกชนิดไฟล์เป็น PDF 
  4. จากนั้นเลือก Quartz Filter เป็น Reduce File Size
  5. ตั้งชื่อไฟล์แล้วก็กด Save ได้เลย
ขนาดไฟล์ที่ผมได้หลังจากใช้ Reduce File Size จาก 3.1MB เหลือแค่ 80KB เท่านั้นเองครับ ถ้าไฟล์ PDF ของใครรูปเยอะๆ อาจจะลดได้มากกว่านี้อีกครับ 

วันพฤหัสบดีที่ 27 เมษายน พ.ศ. 2560

วิธีออกแบบนามบัตรอย่างง่ายๆ แต่สวย


แค่แบ่งพื้นที่ทางซ้ายออกมาเป็นสี่เหลี่ยมจัตุรัสแล้ววางข้อมูลไว้ทางขวามือ
เท่านี้ก็ได้นามบัตรที่ดูดีได้แล้ว