Disclaimer จุดประสงค์บทความนี้เพื่อการศึกษาเท่านั้นไม่ได้สนับสนุนการละเมิดลิขสิทธิ์เคยไหมครับที่บางทีเจอ theme ที่ถูกใจใน themeforest จะตัดสินใจซื้อเลยก็ราคาไม่ใช่ถูกๆ

แถมบางครั้งซื้อมาแล้วติดปัญหา config ต้องมือเทพอีกถึงจะเหมือนตัวอย่างเป๊ะๆ พอไม่เหมือนใช้ไม่เวิคร์ก้อเสียตังฟรีๆ
จะโหลด demo มาใช้ก็ไม่มี ต้องซื้อจ่ายเงินอย่างเดียว
วิธีเดียวที่จะทดลอง theme ได้ก็คือของเถื่อน ที่นี้ขึ้นชื่อว่าของถูกของฟรีของดีไม่ได้หาได้ง่ายๆ เพราะอาจจะโดนฝังสคริปแถมมาพังทั้งเว็บ
อยู่ว่างๆเลยมานั่งเขียนวิธีเช็ค theme ที่โหลดของเถื่อนเบื้องต้นก่อนตัดสินใจซื้อของแท้มาใช้กันนะครับ
(เหมาะสำหรับท่านที่พอมีความรู้เรื่อง linux หรือ computer อยู่บ้างนะครับ มือใหม่หัดขับอาจจะงง)
1. โหลดของเถื่อนมาจากที่ต่างๆกันซัก 3 เว็บตัวอย่าง web-a.com web-b.com web-c.com
2. แล้วไปแตกไฟล์ที่โหลดมาเป้นใน folder ตามชื่อเว็บก็ได้ครับตัวอย่าง /tmp/getnulledscript/my_wptest_theme /tmp/nullled/my_wptest_theme /tmp/theme123/my_wptest_theme

my_wptest_theme นี่ต้องเป็นโฟลเดอร์พร้อมใช้งานเวลาอัพโหลดขึ้นโฮส wordpress เพื่อใช้งานแบบนี้นะนะครับ

3. ผมเขียน bash script ง่ายๆช่วยเช็คว่าแต่ล่ะไฟล์มี md5 เหมือนกันไหม อันไหน md5 ต่างจากชาวบ้านก็สงสัยไว้ก่อนว่าถูกวางยาหรือถูกแก้มา
3.1 สร้างไฟล์แล้ว run จาก terminal (ใช้ ssh ล็อกอินก่อน)
แล้วก็อปข้างล่างนี้ไปวาง
########################################################################################
######################## START
########################################################################################
#!/bin/bash
WRKDIR='/tmp'
# แก้ theme123,getnulledscript,nullled เป็นชื่อตามที่ folder ที่คุณสร้างนะครับ
DONWLOAD1='/tmp/theme123/'
DONWLOAD2='/tmp/getnulledscript'
DONWLOAD3='/tmp/nullled'
cd $DONWLOAD1
cat /dev/null > $WRKDIR/diff.log && clear
# ลิสรายชื่อไฟล์ใน theme folder
for CHECK_F in $(find ./ -type f)
do
# compare DONWLOAD1 and DONWLOAD2
if [ $(md5sum "$CHECK_F" | cut -d" " -f1) == $(md5sum "$DONWLOAD2/$CHECK_F" | cut -d" " -f1) ]
then
echo ""
else
md5sum "$DONWLOAD1""$CHECK_F" >> $WRKDIR/diff.log
md5sum "$DONWLOAD2/$CHECK_F" >> $WRKDIR/diff.log
md5sum "$DONWLOAD3/$CHECK_F" >> $WRKDIR/diff.log
echo DIFF "$DONWLOAD1""$CHECK_F" "$DONWLOAD2/$CHECK_F" >> $WRKDIR/diff.log
echo "" >> $WRKDIR/diff.log
fi
# compare DONWLOAD1 and DONWLOAD3
if [ $(md5sum "$CHECK_F" | cut -d" " -f1) == $(md5sum "$DONWLOAD3/$CHECK_F" | cut -d" " -f1) ]
then
echo ""
else
md5sum "$DONWLOAD1""$CHECK_F" >> $WRKDIR/diff.log
md5sum "$DONWLOAD2/$CHECK_F" >> $WRKDIR/diff.log
md5sum "$DONWLOAD3/$CHECK_F" >> $WRKDIR/diff.log
echo DIFF "$DONWLOAD1""$CHECK_F" "$DONWLOAD3/$CHECK_F" >> $WRKDIR/diff.log
echo "" >> $WRKDIR/diff.log
fi
# compare DONWLOAD2 and DONWLOAD3
if [ $(md5sum "$DONWLOAD2/$CHECK_F" | cut -d" " -f1) == $(md5sum "$DONWLOAD3/$CHECK_F" | cut -d" " -f1) ]
then
echo ""
else
md5sum "$DONWLOAD1""$CHECK_F" >> $WRKDIR/diff.log
md5sum "$DONWLOAD2/$CHECK_F" >> $WRKDIR/diff.log
md5sum "$DONWLOAD3/$CHECK_F" >> $WRKDIR/diff.log
echo DIFF "$DONWLOAD2""$CHECK_F" "$DONWLOAD3/$CHECK_F" >> $WRKDIR/diff.log
echo "" >> $WRKDIR/diff.log
fi
done
# ปริ้น report
cd $WRKDIR && cat $WRKDIR/diff.log
########################################################################################
######################## END
########################################################################################
หลัง save ไฟล์พิมคำสั่งนี้เพื่อให้ไฟล์ execute ได้
chmod 0700 ~/CHK_MD5_THEME && ~/CHK_MD5_THEME
หลังโปรแกรมทำงานจบจะสแดง report ออกมาที่หน้าจอ
4. แล้วตรวจรายงานอีกที ไฟล์ไหนที่ md5 ไม่เหมือนตัวอื่น ก็ copy จาก 2 ตัวที่เหลือมาทับซะ
ตัวอย่างที่ผมเทสไว้
6210bde06cc195f905ee075a3b07c2d8 /tmp/theme123/./my_wptest_theme/style.css
2555d74d48d9a5f121d9b98c6c8afe70 /tmp/getnulledscript/./my_wptest_theme/style.css
2555d74d48d9a5f121d9b98c6c8afe70 /tmp/nullled/./my_wptest_theme/style.css
DIFF /tmp/theme123/./my_wptest_theme/style.css /tmp/getnulledscript/./my_wptest_theme/style.css
6210bde06cc195f905ee075a3b07c2d8 /tmp/theme123/./my_wptest_theme/style.css
2555d74d48d9a5f121d9b98c6c8afe70 /tmp/getnulledscript/./my_wptest_theme/style.css
2555d74d48d9a5f121d9b98c6c8afe70 /tmp/nullled/./my_wptest_theme/style.css
DIFF /tmp/theme123/./my_wptest_theme/style.css /tmp/nullled/./my_wptest_theme/style.css
4d87d83abce011d1fa394cf5ff341c30 /tmp/theme123/./my_wptest_theme/functions.php
59767966a00a7157279aebee4cbc55a5 /tmp/getnulledscript/./my_wptest_theme/functions.php
4d87d83abce011d1fa394cf5ff341c30 /tmp/nullled/./my_wptest_theme/functions.php
DIFF /tmp/theme123/./my_wptest_theme/functions.php /tmp/getnulledscript/./my_wptest_theme/functions.php
4d87d83abce011d1fa394cf5ff341c30 /tmp/theme123/./my_wptest_theme/functions.php
59767966a00a7157279aebee4cbc55a5 /tmp/getnulledscript/./my_wptest_theme/functions.php
4d87d83abce011d1fa394cf5ff341c30 /tmp/nullled/./my_wptest_theme/functions.php
DIFF /tmp/getnulledscript./my_wptest_theme/functions.php /tmp/nullled/./my_wptest_theme/functions.php
ผม cp /tmp/nullled/./my_wptest_theme/style.css /tmp/theme123/./my_wptest_theme/style.css
แล้วก็ cp /tmp/theme123/./my_wptest_theme/functions.php /tmp/getnulledscript/./my_wptest_theme/functions.php เป็นอันเรียบร้อย
หรือจากตัวอย่างรายงานจะใช้ /tmp/nullled/./my_wptest_theme อัพขึ้น host ใช้งานเลยก็ได้เพราะดูปกติกว่า theme123 ที่ style.css ถูกแก้มา และ
getnulledscript ที่ functions.php (ไอ้ตัวนี้วาง scipt hack ไว้ที่ php include('images/social.png'))สรุปขั้นตอนการตรวจสอบคือโหลด theme จากเว็บต่างกันแล้วนำมาเปรียบเทียบกันโดยเช็คจากค่า md5 อันไหนค่าต่างจากชาวบ้านแปลว่าโดนแก้มานะครับ
สงสัยตรงไหนก็ลองสอบถามดูนะครับ
* ย้ำอีกครั้งว่าไม่ได้สนับสนุนให้ใช้ของเถื่อนไม่ว่ากรณีใดๆนะครับ** theme ที่ท่านใช้สร้างรายได้ให้ท่าน เพื่อความปลอดภัยและได้ support จากผู้ผลิตซื้อของแท้ใช้กันนะครับ