มาทำระบบป้องกัน Admin ให้ Oscommerce กันดีกว่า
วิธีการแรกสำหรับระบบ 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/.htpasswdAuthName "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