Results 1 to 5 of 5

Thread: [ถาม]ต้องการทราบเกี่ยวกับ .htaccess ครับ

  1. #1


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

  2. #2
    Junior Member
    Join Date
    May 2007
    Location
    Thailand
    Posts
    1


    ใช้กำหนด Access Rule สำหรับ Directory นั้น และ ไดเร็กทอรี่ย่อย ของไดเรกทอรี่นั้นครับ


    เช่น ลองสร้างไฟล์ชื่อ .htaccess แล้วภายในเขียนดังนี้

    Code:
    deny from all
    แล้วพอเปิดเว็บไปยัง โฟลเดอร์นั้นก็จะเข้าไม่ได้แล้วครับ

    เพราะมันห้ามทั้งหมด

    และก็อีกวิธีคือใส่รหัส ผ่าน ภายในก็จะเป็น

    Code:
    AuthUserFile /full/path/to/.htpasswd
    AuthType Basic
    AuthName "My Secret Folder"
    
    Require valid-user
    เวลาเราไปที่โฟลเดอร์นั้นในเว็บ ก็จะถามรหัสเรามาครับ (เหมือนกะตอนเข้าไปแก้เราเตอร์ ADSL ที่บ้านน่ะครับ)
    [SIZE=2]ใครช่างใจร้ายใจดำ ทำกับฉันได้ !!![/SIZE]

  3. #3
    Senior Member
    Join Date
    Dec 2007
    Location
    Thailand
    Posts
    121


    ที่มา
    http://forum.modoeye.com/30/43/module.php?fid=26&tid=26


    <blockquote>ไฟล์ .htaccess นั้นเป็นไฟล์ที่ใช้ในการ override configuration ของ Apache
    ซึ่งมีการใช้คำจำกัดความในภาษาอังกฤษว่า "Distributed Configuration File" โดยการทำงานจะเป็นการ configuration ของแต่ละ directory ทั้งหมดนี้ใน configuation file หลักจะต้องมีการ set AllowOverride ด้วยนะครับมาดูการใช้งานกันครับ

    1. [b]Authentication [b]เราสามารถทำการ Authentication สำหรับ user ได้โดยการใช้ไฟล์ .htaccess ดังนี้ครับ
    AuthType Basic
    AuthName "Password Required"
    AuthUserFile /www/passwords/password.file
    AuthGroupFile /www/passwords/group.file
    Require Group admins


    โดยจะต้องมีการสร้างไฟล์ password ไว้ด้วยเพื่อเก็บรายชื่อของ user ครับ

    2. Server-side include เป็นการสั่งให้ Apache ทำการ parse ค่าเอกสารโดยใช้ Server-side include ครับ ทำได้โดย
    Options +Includes
    AddType text/html shtml
    AddHandler server-parsed shtml


    เป็นการสั่งให้ Apache รู้จักเอกสาร .shtml เมื่อมีการเรียกร้องขอไฟล์ .shtml จะเป็นการทำงานโดยใช้ Server-Side include

    3. CGI Handler เป็นการสั่งให้ Apache ทำการ execute ไฟล์ CGI สามารถทำได้โดย
    Options +ExecCGI
    AddHandler cgi-script cgi pl


    หรือในอีกแบบ เป็นการสั่งให้ทุกไฟล์ใน directory นั้นทำงานในลักษณะ CGI script
    Options +ExecCGI
    SetHandler cgi-script


    4. Error document เป็นการสั่งให้ Apache ใช้งาน error document ตามรูปแบบของเรา สามารถทำได้โดย
    ErrorDocument code /directory/filename.ext
    เช่น ถ้าต้องการทำการแสดง error ในแบบของเราสำหรับ error code 404 (Not found) ทำได้โดย
    ErrorDocument 404 /errors/notfound.html
    เมื่อมีการเรียกเอกสารที่ไม่มีใน directory นี้ Apache จะทำการแสดงเอกสาร notfound.html
    โดยรหัส error ของ HTTP Server หลักๆนั้น มีดังนี้
    * 400 Bad request
    * 401 Authorization required
    * 403 Forbidden
    * 404 Not found
    * 405 Method not allowed
    * 408 Requested timed out
    * 409 Conflicting request
    * 410 Gone
    * 500 Internal Server Error
    * 501 Not Implement
    * 502 Bad Gateway
    * 503 Service Unavailable

    5. Blocking by IP เป็นการสั่งให้ Apache ทำการ block ผู้ใช้งานจาก IP ที่ระบุ สามารถทำได้โดย

    order allow,deny
    deny from 123.45.6.7
    deny from 012.34.5.
    allow from all



    จากตัวอย่างจะเป็นการ block จาก IP 123.45.6.7 และ IP ที่ขึ้นต้นด้วย 012.34.5 ทั้งหมด

    6. Blocking user/site by referrer เป็นการสั่งให้ Apache ทำการ block ผู้ใช้งานที่มีการลิงค์มาจากเว็บที่ระบุ สามารถทำได้โดย

    RewriteEngine on
    # Options +FollowSymlinks
    RewriteCond %{HTTP_REFERER} badsite\.com [NC]
    RewriteCond %{HTTP_REFERER} anotherbadsite\.com
    RewriteRule .* - [F]


    จากตัวอย่างเป็นการ block ผู้ใช้ที่การ referrer จาก badsite.com และ anotherbadsite.com โดย [NC,OR] NC เป็นการบอกว่าให้เปรียบเทียบแบบ case insensitive และ OR หมายถึง referrer ที่มาจาก domain นั้นทั้งหมด โดย Apache จะใช้การเปรียบเทียบโดย Regular Expressions ซึ่ง "\." ก็หมายถึง "." ตามมาตรฐานของ Regular Expressions เมื่อมีการร้องของจาก referrer ดังที่ระบุ Apache จะส่ง header 403 Forbidden ไปยัง Client

    7. Blocking bad bots เป็นการสั่ง Apache ให้ block bots หรือโปรแกรมดูดเว็บต่างๆ สามารถทำได้โดย

    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
    .......

    RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Zeus
    RewriteRule ^.* - [F,L]

    จากตัวอย่างเป็นแค่เพียงส่วนหนึ่งเท่านั้นครับ โดยการ block bots หรือโปรแกรมดูดเว็บนั้นจะช่วยลดแบนด์วดธ์ที่ไม่มีประโยชน์ลงได้เยอะเลยครับ

    8. Default page เป็นการสั่งให้ Apache ทำการ index default ไฟล์ตามที่ต้องการครับ โดยปกติแล้วจะเป็น index.html index.php เราอาจจะเปลี่ยนให้เป็น myfile.html ก็ได้ครับ สามารถทำได้โดย
    DirectoryIndex myfile.html

    9. Redirect เป็นการสั่งให้ redirect ไปยังหน้าเพจที่เราต้องการเมื่อมีการเรียกไฟล์หรือ directory ที่ระบุไว้ สามารถทำได้โดย
    Redirect /olddirectory http://modoeye.com/newdirectory/

    10. ป้องกันการเปิดไฟล์ ถ้าเราไช้ไฟล์ในการเก็บ password เราสามารถป้องกันการร้องขอเอกสารนั้นๆได้โดย

    <Files password>
    order allow,deny
    deny from all
    </Files>


    เมื่อมีการร้องขอไฟล์ชื่อ password Apache จะมีการส่ง header 403 Forbidden ไปยัง client

    11. การเพิ่ม MIME types เป็นการสั่งให้ Apache รู้จักไฟล์ชนิดที่เราระบุเพื่อจะได้มีการส่ง header ที่ถูกต้องไปยัง client สามารถทำได้โดย
    AddType application/x-shockwave-flash swf

    12. ป้องกันการ Hot link เป็นการสั่งให้ Apache ทำการป้องกัน การเรียกใช้ไฟล์ที่ไม่ใช้ไฟล์ที่เราต้องการโดยตรง เช่น cascading style sheet, Javascript หรือไฟล์ที่เป็นความลับอื่นๆได้ โดย

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?modoeye.com.com/.*$ [NC]
    RewriteRule \.(css|js|gif|jpg)$ http://www.modoeye.com/hotlink.gif [R,L]


    จากตัวอย่าง เป็นการป้องกันการเรีกใช้ไฟล์ .css, .js, .gif, .jpg โดยตรงที่ไม่ได้มาจาก modoeye.com และเมื่อมีการ hotlink จะมีการแสดง hotlink.gif แทน

    13. ป้องกัน Directory listing เป็นการสั่งให้ Apache ทำการป้องการ listing ไฟล์ที่อยู่ใน directory นั้น (ในกรณีที่ใน directory นั้นไม่มีไฟล์ index และ main configuration file ทำการเปิด directory listing ไว้) เมื่อมีการเรียกมายัง directory นั้นๆปกติ Apache จะทำการ list ไฟล์ทั้งหมดออกมาแสดงผล ซึ่งเป็นการไม่ดีแน่ถ้าข้อมูลนั้นเป็นรูปหรือไฟล์สำคัญๆ เราสามารถทำการป้องกันได้โดย

    IndexIgnore *
    หรือ
    Options -Indexes

    IndexIgnore *.gif *.jpg


    จากตัวอย่างที่ 1 และ 2 นั้นเป็นการสั่งให้ Apache ไม่ทำการ list ไฟล์ใดๆทั้งสิ้น ส่วนตัวอย่างล่างสุดนั้นเป็นการสั่งให้ Apache ไม่ทำการ list เฉพาะไฟล์ .gif และ .jpg เท่านั้น

    14. การ override module PHP สามารถอ่านเพิ่มเติมได้ที่ การ Override Directive ของ Apache

    ทั้งหมดนั้นเป็นการใช้งาน .htaccess สำหรับ Apache ซึ่งสามารถนำไปประยุกต์ใช้กับ เว็บของท่านได้ตามต้องการครับ</blockquote>


  4. #4
    Member
    Join Date
    Jan 2007
    Location
    $home/bin
    Posts
    99


    อันนี้เวปสำหรับสร้างไฟล์ .htaccess ลองดูครับ

    http://cooletips.de/htaccess/index.php

    powered by cooletips.de
    Opensource : [url=http://www.mangluck.com]?mangluck[/url]

  5. #5
    Junior Member
    Join Date
    Jul 2008
    Posts
    4


    การใช้งาน Apache บนระบบปฏิบัติการตระกูลยูนิกส์/ลีนุกซ์ นั่นมีข้อดีอยู่อย่างหนึ่ง คือ กำหนดหรือปรับแต่งค่าสำหรับแสดงผลหน้าเวบเพจเฉพาะส่วนโดยไม่ต้องแก้ไขค่าใน httpd.conf ผ่านเวบเซิร์ฟเวอร์ นั่นทำได้โดยกำหนดค่าผ่านไฟล์ .htaccess แถมไม่ต้องสั่งรีสตาร์ท Apache ใหม่เพื่อโหลดค่าคอนฟิกเข้ามาแต่จะสามารถใช้งานได้ทันทีเมื่ออัปโหลดขึ้นไปไว้บนเวบเซิร์ฟเวอร์ นับว่าเป็นข้อดีทีเดียว แต่เสียใจสำหรับคนที่ใช้ Apache บนวินโดวส์คงจะทำไม่ได้เนื่องจากไม่เข้าใจไฟล์ที่มีเฉพาะนามสกุล

    โดยไฟล์ .htaccess จะถูกโหลดทุกครั้งเมื่อเรียกชื่อเวบไซต์และไดเรกทอรี่ที่ต้องการและจะมีผลเฉพาะส่วนไม่มีผลกระทบกับระบบโดยรวม หรือค่าคอนฟิกในไฟล์ .htaccess เป็นส่วนค่าคอนฟิกเพิ่มเติมสำหรับใช้ร่วมกับไฟล์ httpd.conf นั่นเอง

    เมื่อคุณอัปโหลดไฟล์ .htaccess ขึ้นไปด้วยโปรแกรม CuteFTP หรือ WS_FTP นั่นจะพบว่า จะไม่สามารถมองเห็นได้เพราะตามหลักของระบบไฟล์บนระบบปฏิบัติการตระกูลยูนิกส์/ลีนุกซ์นั่นจะถือว่าไฟล์ที่ขึ้นต้นด้วยจุด (.) นำหน้าจะถือว่าเป็นไฟล์ที่ซ่อนไว้ไม่ให้มองเห็นได้ ทำให้บางคนนึกว่ายังไม่ได้อัปโหลดขึ้นไปที

    ไฟล์ .htaccess สามารถนำไปใช้งานต่างๆ ได้อย่างไรบ้าง มีรายละเอียดดังนี้

    7. ใส่รหัสผ่านและยูสเซอร์เนม

    ก่อนอื่นต้องสร้างยูสเซอร์เนมและรหัสผ่านขึ้นมาก่อน โดยใช้โปรแกรมที่ชื่อ htpasswd โดยต้อง Telnet เข้าไปใน Shell และเรียกคำสั่งต่อไปนี้

    htpasswd -c /home/[domainname]/.htpasswd [username]

    โดยเรียกโปรแกรม htpasswd ออปชั่น -c คือให้สร้างไฟล์ขึ้นมาใหม่ ออปชั่นตัวต่อไปคือพาทที่ตั้งของไฟล์ .htpasswd ที่จะถูกสร้างขึ้นมา ตามด้วยชื่อยูสเซอร์ที่จะสร้าง จะปรากฏบรรทัดคำสั่งให้กรอกรหัสผ่านเข้าไป 2 ครั้ง

    ตัวอย่างเช่น

    htpasswd -c /home/demo/.htpasswd webmin

    หากต้องการยูสเซอร์เพิ่มในไฟล์ .htpasswd ให้ใช้คำสั่งต่อไปนี้

    htpasswd /home/[domainname]/.htpasswd [username2]

    ไม่ต้องมีออปชั่น -c ในบรรทัดคำสั่งเพราะไม่ต้องสร้างไฟล์ใหม่ขึ้นมา

    ถ้าไม่มี Shell ให้ใช้งานให้ไปที่ http://www.euronet.nl/~arnow/htpasswd/ กรอกชื่อยูสเซอร์และรหัสผ่านเข้าไป 2 ครั้งพร้อมกดปุ่มจะได้ ชื่อยูสเซอร์:รหัสผ่านที่เข้ารหัสเรียบร้อย ให้คัดลอกไปสร้างเท็กซ์ไฟล์ชื่อ .htpasswd พร้อมอัปโหลดไปไว้ในไดเรกทอรี่ชื่อ /home/demo

    ตัวอย่างเช่น

    webmin:09/LuWEnVExOw

    จากนั่นสร้างไฟล์ .htaccess ขึ้นมาโดยมีโครงสร้างดังนี้

    AuthUserFile /home/[domainname]/.htpasswd
    AuthGroupFile /dev/null
    AuthName ByPassword
    AuthType Basic

    require user [username]


    ตัวอย่างเช่น

    AuthUserFile /home/demo/.htpasswd
    AuthGroupFile /dev/null
    AuthName ByPassword
    AuthType Basic

    require user webmin


    อัปโหลดไฟล์ .htaccess ไปไว้ในไดเรกทอรี่ที่ต้องการป้องกันการเข้าถึงเมื่อเรียกหน้าเวบเพจในไดเรกทอรี่ดังกล่าว เวบเซิร์ฟเวอร์จะได้ตรวจสอบไฟล์ .htaccess จะนำค่าคอนฟิกในไฟล์มาใช้งาน

    จะเห็นได้ว่าคุณจะปกป้องไดเรกทอรี่อื่นเพิ่มเติม เพียงคุณเพียงอับโหลดไฟล์ .htaccess ไปไว้ในไดเรกทอรี่ที่ต้องการโดยไม่ต้องสร้างยูสเซอร์ใหม่ขึ้นมา เพราะใช้ยูสเซอร์เดียวกันที่อยูในไฟล์ .htpasswd นั่นเอง
    จะเห็นได้ว่าถ้าใช้ Apache ในระบบปฏิบัติการยูนิกซ์หรือลีนุกซ์จะปรับแต่งได้ต้องความต้องการใช้งานของคุณได้ แม้จะปรับได้เพียงเล็กน้อยแต่ก็สามารถทำได้ คำแนะนำต่างข้างบนอาจจะไม่สามารถทำได้ในบ้างเวบโฮสต์ติ้งดังนั้นต้องทดสอบด้วยตนเองเพราะค่าคอนฟิกนั่นอาจจะถูกการ Diable เอาไว้ในไฟล์ httpd.conf แต่ส่วนใหญ่จะทำได้เกือบ 90 % หรือบ้างครั้งอาจจะใช้ค่าคอนฟฟิกที่เพี้ยนไปจากที่แนะนำไปเล็กน้อยขอให้ติดต่อผู้ดูแลระบบอีกครั้ง




Similar Threads

  1. Replies: 1
    Last Post: 14-05-2009, 09:47 PM
  2. .htaccess Tips And Tricks
    By snapter in forum Computer Tip & Trick / Tutorial
    Replies: 0
    Last Post: 10-04-2009, 07:36 PM
  3. Replies: 2
    Last Post: 20-02-2009, 07:05 PM
  4. Hinterlistige Hacker-Angriffe auf .htaccess-Dateien | Sicher
    By newsbot in forum World Hacking/Security News
    Replies: 0
    Last Post: 04-11-2008, 03:18 AM
  5. Replies: 3
    Last Post: 26-10-2007, 07:01 PM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •