มาทำระบบป้องกัน Admin ให้ Oscommerce กันดีกว่า

เมื่อวานผมกล่าวถึงเรื่องการติดตั้งโปรแกรม Oscommerce กันไปแล้ว วันนี้ผมจะเขียนบทความความเรื่องการป้องระบบ admin ของ Oscommerce กันต่อเลยครับ
การป้องกันระบบ Oscommerce มีอยู่ด้วยกัน 2 ระบบ คือ
1.ระบบ Hosting Server ที่เป็น Unix linux Freebsd
2.ระบบ Hosting Server ที่เป็น Windows
วันนี้ผมจะมาบอกวิธีการทั้ง 2 แบบเลยนะครับ มาเริ่มกันเลย…
วิธีการแรกสำหรับระบบ Hosting Server ที่เป็น Unix linux Freebsd
ระบบ Oscommerce นี้จะมีระบบ admin ผู้ดูแลร้านค้า คือหน้า http://yourdomain.com/catalog/admin/ ซึ่งเราต้องการจะป้องกันให้ Folder Admin นี้ มีระบบ login เพื่อการเข้าใช้งานมีความปลอดภัย โดยที่บุคคลภายนอกที่ไม่ใช่ Admin จะไม่สามารถเข้าไปได้เลย
ขั้นแรก เราต้องรู้ path ของ Server ที่เก็บเว็บของคุณอยู่ก่อนนะครับ เช่น /home/yourwebsite.com/public_html/catalog/ จะเป็น Path ของโฟลเดอร์ catalog บนเว็บไซต์ของคุณ
ถ้าคุณไม่ทราบ วิธีการเช็คว่า Path บน Server เป็นยังไง ให้คุณสร้างไฟล์ php มา 1 ไฟล์ ผมสมมุติให้เลย ว่าชื่อ info.php ใส่โค้ด <?php phpinfo(); ?> หลังจากนั้นเอาโค้ดใส่ไปแล้ว ให้ save ได้เลยครับ
แล้วอัพโหลดไฟล์นี้ ไปทาง FTP วางในโฟลเดอร์ที่เราต้องการอยากจะรู้ Path อย่างเช่น ตัวอย่างนี้ คุณต้องการทราบ Path โฟลเดอร์ Admin เพื่อที่จะทำการป้องกันโฟลเดอร์ คุณก็จะต้องเอาไฟล์นี้ไปวาง ในโฟลเดอร์ Admin ของคุณ หลังจากนั้นก็เรียกไฟล์นี้ผ่านทาง web browser เช่น http://www.yourdomain.com/catalog/admin/info.php จะปรากฏหน้าตาดังรูปข้างล่างนี้

ฟังก์ชั่น PHPINFO(): นี้เป็นฟังก์ชั่นในการดูรายละเอียดต่างๆของ Server เช่น เวอร์ชั่นของโปรแกรม php , Pathของเครื่อง Server ฯลฯ
หลังจากนั้นให้คุณ ค้นหาบันทัด _SERVER["PATH_TRANSLATED"] แล้วคุณจะเจอรายละเอียดของ Path โฟลเดอร์ admin ของคุณ
เมื่อคุณรู้ Path โฟลเดอร์ admin ของ oscommerce บน Server คุณแล้ว ให้คุณไปที่ http://www.thaimisc.com ดูที่เมนูด้านซ้าย หาเมนู ป้องกัน Directory

ให้คลิ๊กเข้าไป ในหน้านั้นจะอธิบายวิธีการนำไปใช้งานป้องกัน Directory ของคุณ
โดยเว็บไซต์นี้ได้มีโปรแกรมการ GEN รหัสผ่านเอาไว้ให้คุณด้วย
ไฟล์ที่เราจะทำมีทั้งหมด 2 ไฟล์ครับคือ
.htaccess คือ ไฟล์ที่ไว้เก็บคำสั่งพิเศษต่างๆ ในที่นี้ไว้เก็บที่อยู่ของ Directory เก็บโฟลเดอร์และไฟล์ที่ทำการป้องกัน
.htpasswd คือ ไฟล์ไว้เก็บข้อมูลของ username และ password ที่ทำการเข้ารหัสแล้ว จะอยู่ในรูป user:password
ที่นี้ให้เราเอา path ของโฟลเดอร์ admin ไปใส่ที่ช่อง Directory เช่น /home/yourwebsite.com/public_html/catalog/admin/ อย่าลืมปิดท้าย ด้วย / นะครับ
ตรงช่อง User คือให้เราตั้งชื่อผู้ใช้งานสำหรับ Login เข้าระบบครับ
และที่ช่อง Password ให้ใส่รหัสผ่านที่เราต้องการครับ
เมื่อเสร็จแล้วกด Submit

จะเปิดหน้าใหม่ขึ้นมา แล้วแจ้งรายละเอียด ของโค้ดรหัสที่ได้ทำการเข้ารหัสแล้ว และวิธีการเอาไปให้งาน เช่นดังรูปข้างล่างนี้

อธิบายซ้ำให้เข้าใจกันอีกทีครับ
เมื่อเราได้อย่างรูปตัวอย่างข้างบนนี้แล้ว ให้คุณสร้างไฟล์มา 2 ไฟล์คือ .htaccess และ.htpasswd
โดยการสร้างให้คุณสร้างไฟล์แบบนี้ก่อนนะครับ คือ .htaccess.txt และ .htpasswd.txt จากนั้นให้เอาโค้ดที่ระบบของ thaimisc gen มาให้ไปใส่ในไฟล์ที่เค้าแนะนำมา
ตัวอย่าง
AuthUserFile /data1/hypermart.net/user/.htpasswd
AuthName “thaimisc password protect:”
AuthType Basic
require valid-user
ให้เอาไปใส่ในไฟล์.htaccess.txt และ
user:aajfMKNH1hTm2
ให้เอาไปใส่ไฟล์ .htpasswd.txt
หลังจากนั้นให้ FTP อัพโหลดไฟล์ไปไว้ในโฟลเดอร์ admin ของ oscommerce แล้วทำการ Permission file ด้วยการ Chmod เป็น 0777 ทั้งไฟล์ .htaccess.txt และ.htpasswd.txt เลย
จากนั้นให้คุณ rename เปลี่ยนชื่อไฟล์ ให้เป็น .htaccess และ.htpasswd โดยตัดfilename .txt ออก เมื่อเปลี่ยนเสร็จแล้ว ก็ลองรีเฟรช ftp ในโฟลดเดอร์ admin ของ Oscommerce ดู จะปรากฏว่าทั้ง 2 ไฟล์นั้นได้ถูกซ่อนไปแล้ว
ทีนี้เราลองเข้าระบบ admin ดู เช่น http://www.yourdomain.com/catalog/admin/ จะปรากฏบล๊อกแบบนี้ขึ้นมาถามให้กรอกรหัสผ่านก่อนการเข้าใช้งานครับ ดังรูปข้างล่างนี้

และถ้ากรอกรหัส 3 ครั้งไม่ผ่าน มันจะแสดงหน้า Error มาเลยครับ แค่นี้เองครับ สำหรับการ Protect โฟลเดอร์ที่มี web server เป็น Apache เป็นการเข้ารหัสข้อมูลอย่างดีมากๆเลยครับ คุณสามารถอ่านข้อมูลเรื่องการป้องนี้ต่อกันได้ที่ http://httpd.apache.org/docs/howto/htaccess.html





Leave a Reply
You must be logged in to post a comment.