18 วิธีการ htaccess ได้ผ่านการทดสอบ เป็นเทคนิคสำคัญและเคล็ดลับในการป้องกันเว็บเซิร์ฟเวอร์ของคุณจากการโจมตี ที่เป็นอันตรายและอื่น ๆ จะสามารถปฏิบัติงานง่ายได้อย่างมีประสิทธิภาพเช่นการเปลี่ยนเส้นทางและเว็บ การเพิ่มประสิทธิภาพเซิร์ฟเวอร์
1.Set Timezone
บางครั้งเมื่อคุณใช้วันที่หรือฟังก์ชัน mktime ใน PHP ก็จะแสดงให้คุณเห็นข้อความเกี่ยวกับเขตเวลา นี้เป็นหนึ่งในวิธีการแก้เขตเวลาที่ตั้งไว้ สำหรับเซิร์ฟเวอร์ของคุณ รายชื่อของเขตเวลาที่สนับสนุนสามารถดูได้ที่นี่
http://www.php.net/manual/en/timezones.php
SetEnv TZ Asia/Bangkok
2.SEO Friendly 301 Permanent Redirects
เป็นมิตร SEO? ปัจจุบันกลไกในการค้นหา ได้ทันสมัยมีความสามารถในการตรวจสอบ 301 การเปลี่ยนเส้นทางถาวรและปรับปรุงระเบียนที่มีอยู่
Redirect 301 http://www.queness.com/home http://www.queness.com/
3. Skip the download dialogue
โดยปกติเมื่อคุณพยายามที่จะดาวน์โหลดบางสิ่งบางอย่างจากเว็บเซิร์ฟเวอร์ จะได้รับร้องขอ คุณต้องการบันทึกไฟล์ หรือเปิด เพื่อหลีกเลี่ยงการที่คุณสามารถใช้รหัสที่ด้านล่างของคุณ. โดย htaccess
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
4. ตัด www ไม่ให้แสดงเมื่อเข้าเว็บ
เป็นหนึ่งในแนวทาง SEO คือให้ตรวจสอบว่า URL ที่ชี้ไปยังเว็บไซต์ของคุณ ที่สั้นจำง่าย
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.smu.ac.th [NC]
RewriteRule ^(.*)$ http://smu.ac.th/$1 [L,R=301]
5. Custom Error page
การสร้างหน้าข้อผิดพลาดที่กำหนดเองสำหรับแต่ละรหัสข้อผิดพลาด
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
6. Compress files
เพิ่มประสิทธิภาพเว็บไซต์ของคุณโหลดเวลาโดยการบีบอัดไฟล์ในขนาดที่เล็กกว่า
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
7. Cache files
การแคชไฟล์เป็นอีกวิธีการที่มีชื่อเสียงในการเพิ่มประสิทธิภาพเว็บไซต์เวลาในการโหลด
<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
Header set Cache-Control “max-age=2592000″
< /FilesMatch>
8. Disable caching for certain file type
ทั้งในทางกลับกันคุณสามารถปิดการใช้งานสำหรับการแคชไฟล์บางประเภท
# explicitly disable caching for scripts and other dynamic files
< FilesMatch “.(pl|php|cgi|spl|scgi|fcgi)$”>
Header unset Cache-Control
< /FilesMatch>
9.Security
htaccess รหัสต่อไปนี้จะสามารถเพิ่มระดับความปลอดภัยของเว็บเซิร์ฟเวอร์ของคุณ Hotlinking ป้องกันสวยที่เป็นประโยชน์เพื่อหลีกเลี่ยงบุคคลอื่นที่ใช้ภาพที่เก็บไว้ใน เซิร์ฟเวอร์ของคุณ
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
10. Hotlinking protection with .htaccess
ป้องกันการขโมยแบนด์วิดธ์จากเว็บไซต์ของคุณ การใช้งานนี้คุณจะสามารถป้องกันไม่ให้เกิดขึ้น
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
11. Prevent hacks
ถ้าคุณต้องการเพิ่มระดับการรักษาความปลอดภัยของเว็บไซต์ของคุณคุณสามารถ chuck ไม่กี่บรรทัดของรหัสเหล่านี้เพื่อป้องกันไม่ให้เทคนิคบางแฮ็คร่วมกันโดยการ ตรวจสอบรูปแบบ URL ที่เป็นอันตราย
RewriteEngine On
# proc/self/environ? no way!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
12. Block access to your .htaccess file
รหัสต่อไปนี้จะป้องกันไม่ให้ผู้ใช้เข้าถึงไฟล์ htaccess ของคุณ. นอกจากนี้คุณสามารถป้องกันไฟล์หลายประเภทเช่นกัน
# secure htaccess file
< Files .htaccess>
order allow,deny
deny from all
< /Files># prevent viewing of a specific file
< Files secretfile.jpg>
order allow,deny
deny from all
< /Files># multiple file types
< FilesMatch “.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
Order Allow,Deny
Deny from all
< /FilesMatch>
13. Rename htaccess files
นอกจากนี้คุณยังสามารถเปลี่ยนชื่อ. ชื่อ htaccess แฟ้มของคุณไปอย่างอื่นเพื่อป้องกันการเข้าถึง
AccessFileName htacc.ess
14. Disable directory browsing
หลีกเลี่ยงเซิร์ฟเวอร์จากดัชนีของไดเรกทอรีแสดงหรือตรงข้าม
# disable directory browsing
Options All -Indexes# enable directory browsing
Options All +Indexes
15. Change default Index page
คุณสามารถเปลี่ยนหน้าเริ่มต้น index.html, index.php หรือ index.htm เพื่ออย่างอื่น
DirectoryIndex business.html
16. Block unwanted visitor based on referring domain
# block visitors referred from indicated domains
< IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* – [F]</ifModule>
17. Blocking request based on User-Agent Header
วิธีการนี้จะสามารถประหยัดแบนด์วิดธ์โควต้าของคุณโดยการสกัดกั้นหรือไปเดอร์บอบางจากการรวบรวมข้อมูลเว็บไซต์ของคุณ
# block visitors referred from indicated domains
< IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
< /ifModule>
18. Secure directories by disabling execution of scripts
# secure directory by disabling script execution
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI