พื้นฐาน Joomla

ย้ายเว็บ จากเครื่อง ขึ้นโฮส Server
เนื่องจากว่า ผมเห็นการสอบถามข้อมูลนี้ค่อนข้างเยอะมาก ว่าจะอัพโหลด Joomla จากเครื่องตนเองไปยัง...

เทคนิค Joomla

Configuration Error
เคยเจอไหมครับ แบบนี้ Warning: session_start() [function.session-start]: Cannot send session c...

แนะนำ Extension

จัดการ URL ด้วย SH404SEF รองรับ SEO
SH404SEF คือคอมโพเน้นท์ที่จะช่วยแปลง URL ของเรา จากเดิมที่มีความยาวเหยียด และผสมไปด้วยตัวแปรต่า...
( 4 Votes )
ป้องกัน Directory administrator แน่นอนว่าเมื่อมีเว็บใดใช้ Joomla แล้วก็ย่อมเป็นที่รู้กันว่า ไดเร็คทอรี่ที่โดนมุ่งหมายกันก็คือ /administrator แล้วเราจะปกป้องมันอย่างไรล่ะครับไม่ให้ใครเข้ามาเจอได้ง่าย ๆ , มีหลายเทคนิคเช่น การใช้ปลั๊กอินเปลี่ยน URL ของไดเร็คทอรี่ administrator , การลบไดเร็คทอรี่ออกชั่วคราว หรือการป้องกันไดเร็คทอรี่อีกชั้นด้วยการตั้งรหัสผ่าน , สำหรับตอนนี้ เราจะลองใช้วิธีการตั้งรหัสผ่านกันครับ

อย่างแรกเลยคือ โฮสที่ใช้ควรเป็นระบบปฏิบัติการ Linux ครับ ไฟล์ที่เราต้องใช้ทั้งหมดมี 2 ไฟล์ครับ ไฟล์แรกจะชื่อว่า .htaccess ปกติแล้วไฟล์นี้เราจะไม่สามารถสร้างขึ้นได้ใน Windows ดังนั้น เราก็ต้องใช้วิธีการอัพโหลดไฟล์ Text Document เปล่า ๆ ขึ้นโฮสไปก่อนครับ พร้อมระบุ Code นี้ลงไปด้วย

AuthUserFile [DOCUMENT_ROOT]/[DIR]/.htpasswd
AuthName "กรุณาใส่ชื่อผู้ใช้ และรหัสผ่าน"
AuthType Basic
require valid-user

[DOCUMENT_ROOT] สามารถหาได้จากการสร้างไฟล์ phpinfo ครับ หรือสามารถดูผ่าน PHP Information ของ Joomla ทางเมนู Help > System Info ก็ได้ครับ ซึ่งจะเป็น Path เต็มของไดเร็คทอรี่ ของเว็บไซต์คุณเอง เช่น /domain/home/htdocs/ หรือ /home/web/web.com/public_html เป็นต้น

[DIR] คือไดเร็คทอรี่อื่นที่สร้างขึ้นเพื่อเก็บไฟล์ .htpasswd ที่เรากำลังจะสร้างในขั้นตอนต่อไป ซึ่งเมื่อคุณสร้างไฟล์ .htaccess เสร็จแล้ว มันก็จะไปเรียกหาไฟล์ .htpasswd ตามที่คุณได้ระบุไว้ที่ AuthUserFile , คุณสามารถสร้างไฟล์ทั้ง 2 นี้ไว้ในไดเร็คทอรี่เดียวกันก็ได้ แต่ถ้าหากคุณต้องการเก็บ 2 ไฟล์นี้ไว้ต่างไดเร็คทอรี่กัน คุณก็ต้องเพิ่มในส่วนของ [DIR] ไปเองนะครับ ตัวอย่างนี้ผมจะเก็บ 2 ไฟล์นี้แยกกัน ดังนั้น AuthUserFile  ของผมจะเป็น /domains/pcnott.com/public_html/mypass

ป้องกัน Directory administrator

เมื่อเรียบร้อยแล้วก็อัพโหลดขึ้นไปไว้บนโฮส ในไดเร็คทอรี่ที่ต้องการ พร้อมเปลี่ยนชื่อไฟล์เป็น .htaccess , เราต้องการป้องกันไดเร็คทอรี่ที่ชื่อ administrator เราก็ต้องนำไฟล์ .htaccess ไปไว้ใน administrator ครับ ต่อไป ก็ต้องสร้างไฟล์ .htpasswd ขึ้นมา เอาไว้ในไดเร็คทอรี่ mypass เพื่อให้ตรงตาม AuthUserFile ครับ แล้วระบุ Code นี้ลงไป

User:gC28fmYw4Q

ถามว่า มันมาจากไหน จะแบ่งเป็น 2 ส่วนครับ

ส่วนแรกคือ User เป็นชื่อผู้ใช้งานจริง ๆ ที่เราจะต้องพิมพ์ เพื่อใช้ในการล็อคอินครับ

ส่วนที่ 2 คือ gC28fmYw4Q ซึ่งก็คือรหัสผ่าน ที่ได้ผ่านการ Encrypt มาอีกที เช่น เราอาจจะใส่รหัสผ่านว่า 1234 แต่มันก็จะถูก Encrypt มาเป็น Jz1Flyrxk อะไรแบบนี้ครับ เราไม่สามารถนำข้อความนี้ไปใส่ในช่องรหัสผ่านเพื่อล็อคอินได้นะครับ

ป้องกัน Directory administrator

หรือถ้าจะพิมพ์ user:1234 แบบนี้ จะใช้ไม่ได้นะครับ คุณจะไม่สามารถล็อคอินโดยใช้รหัสผ่าน 1234 ได้เลย เพราะมันจะมองว่า 1234 ของคุณ คือข้อความที่ถูกเข้ารหัสมาจากคำอื่นอีกทีนึง ซึ่งทั้ง 2 ส่วน จะถูกคั่นกลางด้วยเครื่องหมาย Colon ครับ ( : )

มาสรุปกันก่อน ตอนนี้เราได้ 2 ไฟล์แล้วนะครับ คือ ไฟล์ .htaccess อยู่ที่ /administrator ซึ่งเป็นไฟล์ที่บ่งบอกว่า ต้องทำการพิสูจน์ตัวตนก่อนเช้าใช้งานและไฟล์ .htpasswd อยู่ที่ /mypass ซึ่งเป็นไฟล์ที่บ่งบอกว่า มี Username , Password เป็นอะไร

ต่อไป เมื่อเราพิมพ์ /administrator เพื่อเข้าหน้า admin ของ Joomla แล้วล่ะก็ จะมี Dialog ขึ้นมาถาม Username , Password แบบนี้ครับ

ป้องกัน Directory administrator

ถ้าใส่รหัสผิด ล็อคอินไม่ผ่าน

ป้องกัน Directory administrator

ทำให้สามารถปกป้องหน้า admin ได้ระดับหนึ่ง , แล้วคำถามคือ จะสร้างไฟล์ password อย่างไร ในเมื่อมันเข้ารหัส แถมพิมพ์รหัสผ่านไปตรง ๆ ก็ใช้งานไม่ได้อีกต่างหาก ไม่ต้องห่วงครับ ผมมีบริการด้านล่าง ให้คุณสามารถพิมพ์ username , password ที่ต้องการได้เลย แล้วนำไปใส่ในไฟล์ .htpasswd ได้ทันทีครับ

โฮสบางที่อาจจะไม่สามารถมองเห็นไฟล์จำพวก .htaccess หรือ .htpasswd ได้ผ่านทางโปรแกรม FTP Client นะครับ เรียกได้ว่า พอเปลี่ยนชื่อไฟล์ปุ๊บ มันก็จะหายวับไปกับตา ก็อย่าไปตกใจนะครับ จริง ๆ มันก็อยู่ตรงนั้นของมันแหล่ะ เพียงแต่เราไม่สามารถมองเห็นได้นั่นเอง ซึ่งกรณีนี้จะต้องใช้พาเนลของโฮสเข้าไปจัดการเกี่ยวกับ File Manager ครับ จึงจะเห็นไฟล์ดังกล่าว

ป้องกัน Directory administrator