พื้นฐาน Joomla

รู้จักกันก่อนเขียนบทความ
หัวใจหลักของการทำเว็บไซต์ ก็คือการมีบทความใช่ไหมล่ะครับ การสร้างบทความก็คือการที่เราเพิ่มข้อมูล...

เทคนิค Joomla

FTP Filesystem Layer
มีไม่น้อยครับ ที่ไม่ทราบว่า FTP Settings ที่อยู่ในเมนู Global Configuration มีไว้ทำอะไร รู้แต่...

แนะนำ Extension

แสดงลิส QCategories
QCategories โมดูลสำหรับแสดงจำนวนเนื้อหาใน Category ภายใต้ Section ที่เราเลือกครับ โดยจะแสดงออก...
( 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